Class: Daifuku::NameLengthRule
Instance Attribute Summary collapse
-
#max_length ⇒ Object
readonly
Returns the value of attribute max_length.
Instance Method Summary collapse
-
#initialize(max_length) ⇒ NameLengthRule
constructor
A new instance of NameLengthRule.
- #validate!(categories) ⇒ Object
Constructor Details
#initialize(max_length) ⇒ NameLengthRule
Returns a new instance of NameLengthRule.
79 80 81 |
# File 'lib/daifuku/validator.rb', line 79 def initialize(max_length) @max_length = max_length end |
Instance Attribute Details
#max_length ⇒ Object (readonly)
Returns the value of attribute max_length.
77 78 79 |
# File 'lib/daifuku/validator.rb', line 77 def max_length @max_length end |
Instance Method Details
#validate!(categories) ⇒ Object
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/daifuku/validator.rb', line 83 def validate!(categories) violations = [] categories.each_value do |category| if category.name.length > max_length violations << Violation.new("#{category.name} must be within #{max_length} characters.", category_name: category.name, event_name: nil, column_name: nil) end category.events.each_value do |event| if event.name.length > max_length violations << Violation.new("#{category.name}.#{event.name} must be within #{max_length} characters.", category_name: category.name, event_name: event.name, column_name: nil) end event.columns.each do |column| if column.name.length > max_length violations << Violation.new("#{category.name}.#{event.name}.#{column.name} must be within #{max_length} characters.", category_name: category.name, event_name: event.name, column_name: column.name) end end end end violations end |