Class: StatModule::Finding
Constant Summary
Constants inherited
from JSONable
JSONable::FORMATTING_BALL, JSONable::FORMATTING_CHECKMARK, JSONable::FORMATTING_STAR, JSONable::FORMATTING_WARNING
Instance Method Summary
collapse
Methods inherited from JSONable
from_json!, #to_json
Constructor Details
#initialize(failure, rule, description, hash = nil) ⇒ Finding
Returns a new instance of Finding.
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/finding.rb', line 6
def initialize(failure, rule, description, hash = nil)
if hash.is_a? Hash
super(hash)
return
end
raise TypeException unless rule.is_a?(String) && description.is_a?(String)
@failure = failure
@rule = rule
@description = description
end
|
Instance Method Details
#categories ⇒ Object
62
63
64
|
# File 'lib/finding.rb', line 62
def categories
@categories
end
|
#categories=(categories) ⇒ Object
53
54
55
56
57
58
59
60
|
# File 'lib/finding.rb', line 53
def categories=(categories)
raise TypeException unless categories.is_a?(Array)
categories.each { |item|
raise TypeException unless Category.all.include?(item)
raise DuplicateElementException if @categories.include?(item)
@categories.push(item)
}
end
|
#description ⇒ Object
40
41
42
|
# File 'lib/finding.rb', line 40
def description
@description
end
|
#description=(description) ⇒ Object
35
36
37
38
|
# File 'lib/finding.rb', line 35
def description=(description)
raise TypeException unless description.is_a?(String)
@description = description
end
|
#detail ⇒ Object
49
50
51
|
# File 'lib/finding.rb', line 49
def detail
@detail
end
|
#detail=(detail) ⇒ Object
44
45
46
47
|
# File 'lib/finding.rb', line 44
def detail=(detail)
raise TypeException unless detail.is_a?(StatModule::Detail)
@detail = detail
end
|
#failure ⇒ Object
22
23
24
|
# File 'lib/finding.rb', line 22
def failure
@failure
end
|
#failure=(failure) ⇒ Object
18
19
20
|
# File 'lib/finding.rb', line 18
def failure=(failure)
@failure = failure
end
|
#fixes ⇒ Object
102
103
104
|
# File 'lib/finding.rb', line 102
def fixes
@fixes
end
|
#fixes=(fixes) ⇒ Object
93
94
95
96
97
98
99
100
|
# File 'lib/finding.rb', line 93
def fixes=(fixes)
raise TypeException unless fixes.is_a?(Array)
fixes.each { |item|
raise TypeException unless item.is_a?(StatModule::Fix)
raise DuplicateElementException if @fixes.include?(item)
@fixes.push(item)
}
end
|
#location ⇒ Object
71
72
73
|
# File 'lib/finding.rb', line 71
def location
@location
end
|
#location=(location) ⇒ Object
66
67
68
69
|
# File 'lib/finding.rb', line 66
def location=(location)
raise TypeException unless location.is_a?(Location)
@location = location
end
|
#print(formatted = false) ⇒ Object
106
107
108
109
110
111
112
113
114
115
116
117
118
|
# File 'lib/finding.rb', line 106
def print(formatted = false)
result = "#{rule}, #{description}"
if formatted
if failure
result = "#{FORMATTING_BALL} #{result}".colorize(:red)
else
result = "#{FORMATTING_WARNING} #{result}".colorize(:yellow)
end
end
result += "\n#{location.print}" unless location.nil?
result += "\nRECOMMENDATION: #{recommendation}" unless recommendation.nil?
result
end
|
#recommendation ⇒ Object
89
90
91
|
# File 'lib/finding.rb', line 89
def recommendation
@recommendation
end
|
#recommendation=(recommendation) ⇒ Object
84
85
86
87
|
# File 'lib/finding.rb', line 84
def recommendation=(recommendation)
raise TypeException unless recommendation.is_a?(String)
@recommendation = recommendation
end
|
#rule ⇒ Object
31
32
33
|
# File 'lib/finding.rb', line 31
def rule
@rule
end
|
#rule=(rule) ⇒ Object
26
27
28
29
|
# File 'lib/finding.rb', line 26
def rule=(rule)
raise TypeException unless rule.is_a?(String)
@rule = rule
end
|
#time_to_fix ⇒ Object
80
81
82
|
# File 'lib/finding.rb', line 80
def time_to_fix
@timeToFix
end
|
#time_to_fix=(time_to_fix) ⇒ Object
75
76
77
78
|
# File 'lib/finding.rb', line 75
def time_to_fix=(time_to_fix)
raise TypeException unless time_to_fix.is_a?(Integer)
@timeToFix = time_to_fix
end
|