Class: ErrorProne::RuleSet

Inherits:
Hash
  • Object
show all
Defined in:
lib/error_prone.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.available_rulesObject



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, options = {})
  raise "rule #{rule_name} is not available" unless available_rules.has_key?(rule_name)
  self.for(field).push(rule: available_rules[rule_name], options: options)
  self
end

#all_valid_for?(object) ⇒ Boolean

Returns:

  • (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_rulesObject



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