Class: Anodator::CheckResult
- Inherits:
-
Object
- Object
- Anodator::CheckResult
- Defined in:
- lib/anodator/check_result.rb
Instance Attribute Summary collapse
-
#level ⇒ Object
readonly
Returns the value of attribute level.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#target_numbers ⇒ Object
readonly
Returns the value of attribute target_numbers.
Instance Method Summary collapse
-
#initialize(target_numbers, message, level) ⇒ CheckResult
constructor
A new instance of CheckResult.
- #method_missing(message, *args) ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(target_numbers, message, level) ⇒ CheckResult
Returns a new instance of CheckResult.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/anodator/check_result.rb', line 7 def initialize(target_numbers, , level) @target_numbers = target_numbers.to_a @message = .to_s @level = level if @target_numbers.size.zero? raise ArgumentError.new("target numbers cannot be blank") end if @message.split(//).size.zero? raise ArgumentError.new("message cannot be blank") end unless Rule::ERROR_LEVELS.values.include?(level) raise ArgumentError.new("level must be #{Rule::ERROR_LEVEL_NAMES.join(", ")}") end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(message, *args) ⇒ Object
28 29 30 31 32 33 34 35 36 |
# File 'lib/anodator/check_result.rb', line 28 def method_missing(, *args) if .to_s =~ /(\A[a-zA-Z_]+)\?\Z/ if Rule::ERROR_LEVELS.keys.include?($1.to_sym) return Rule::ERROR_LEVELS[$1.to_sym] == @level end end super end |
Instance Attribute Details
#level ⇒ Object (readonly)
Returns the value of attribute level.
5 6 7 |
# File 'lib/anodator/check_result.rb', line 5 def level @level end |
#message ⇒ Object (readonly)
Returns the value of attribute message.
5 6 7 |
# File 'lib/anodator/check_result.rb', line 5 def @message end |
#target_numbers ⇒ Object (readonly)
Returns the value of attribute target_numbers.
5 6 7 |
# File 'lib/anodator/check_result.rb', line 5 def target_numbers @target_numbers end |
Instance Method Details
#to_s ⇒ Object
23 24 25 26 |
# File 'lib/anodator/check_result.rb', line 23 def to_s buf = "[#{Rule.level_expression(@level)}]\t" buf += @message + " |#{@target_numbers.join(", ")}|" end |