Class: Continuum::BestPracticeData

Inherits:
Object
  • Object
show all
Defined in:
src/lib/continuum/best_practice_data.rb

Overview

This class represents the best practice data returned by AMP’s public API.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, severity, noticeability, tractability, best_practice_id, href, standards) ⇒ BestPracticeData

Returns a new instance of BestPracticeData.

Parameters:

  • name (String)
  • severity (Integer)
  • noticeability (Integer)
  • tractability (Integer)
  • best_practice_id (Integer)
  • href (String)
  • standards (Array<Standard>)


39
40
41
42
43
44
45
46
47
# File 'src/lib/continuum/best_practice_data.rb', line 39

def initialize(name, severity, noticeability, tractability, best_practice_id, href, standards)
  @name = name
  @severity = severity
  @noticeability = noticeability
  @tractability = tractability
  @best_practice_id = best_practice_id
  @href = href
  @standards = standards
end

Instance Attribute Details

#best_practice_idInteger

Returns:

  • (Integer)


24
25
26
# File 'src/lib/continuum/best_practice_data.rb', line 24

def best_practice_id
  @best_practice_id
end

#hrefString

Returns:

  • (String)


27
28
29
# File 'src/lib/continuum/best_practice_data.rb', line 27

def href
  @href
end

#nameString

Returns:

  • (String)


12
13
14
# File 'src/lib/continuum/best_practice_data.rb', line 12

def name
  @name
end

#noticeabilityInteger

Returns:

  • (Integer)


18
19
20
# File 'src/lib/continuum/best_practice_data.rb', line 18

def noticeability
  @noticeability
end

#severityInteger

Returns:

  • (Integer)


15
16
17
# File 'src/lib/continuum/best_practice_data.rb', line 15

def severity
  @severity
end

#standardsArray<Standard>

Returns:



30
31
32
# File 'src/lib/continuum/best_practice_data.rb', line 30

def standards
  @standards
end

#tractabilityInteger

Returns:

  • (Integer)


21
22
23
# File 'src/lib/continuum/best_practice_data.rb', line 21

def tractability
  @tractability
end

Class Method Details

.from_json(json_data) ⇒ BestPracticeData

Parameters:

  • json_data (String, Hash)

Returns:



51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'src/lib/continuum/best_practice_data.rb', line 51

def self.from_json(json_data)
  parsed = DataUtil.parse_json(json_data) || {}

  return new(
    parsed['name'],
    parsed['severity'].to_i,
    parsed['noticeability'].to_i,
    parsed['tractability'].to_i,
    parsed['bestPracticeID'].to_i,
    parsed['href'],
    parsed['standards'].nil? ? nil : parsed['standards'].to_a.map { |standard| Standard.from_json(standard) }
  )
end