Class: ErrorProne::RuleSet
- Inherits:
-
Hash
- Object
- Hash
- ErrorProne::RuleSet
- Defined in:
- lib/error_prone.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add(field, rule_name, options = {}) ⇒ Object
- #all_valid_for?(object) ⇒ Boolean
- #available_rules ⇒ Object
- #for(field) ⇒ Object
Class Method Details
.available_rules ⇒ Object
168 169 170 |
# File 'lib/error_prone.rb', line 168 def self.available_rules @available_rules ||= {} end |
Instance Method Details
#add(field, rule_name, options = {}) ⇒ Object
180 181 182 183 184 |
# File 'lib/error_prone.rb', line 180 def add(field, rule_name, = {}) raise "rule #{rule_name} is not available" unless available_rules.has_key?(rule_name) self.for(field).push(rule: available_rules[rule_name], options: ) self end |
#all_valid_for?(object) ⇒ Boolean
187 188 189 190 191 192 193 194 |
# File 'lib/error_prone.rb', line 187 def all_valid_for?(object) all? do |field, rules| rules.all? do |rule_config| rule = rule_config[:rule].new(object, field, rule_config[:options]) rule.validate! end end end |
#available_rules ⇒ Object
172 173 174 |
# File 'lib/error_prone.rb', line 172 def available_rules self.class.available_rules end |
#for(field) ⇒ Object
176 177 178 |
# File 'lib/error_prone.rb', line 176 def for(field) self[field] ||= [] end |