class LIVR::Rules::Meta::VariableObject
Public Class Methods
new(selector_field, livrs)
click to toggle source
# File lib/livr/rules/meta.rb, line 26 def initialize(selector_field, livrs) @selector_field = selector_field @validators = {} livrs.each do |selector_value, livr| @validators[selector_value] = Validator.new(livr).prepare end end
Public Instance Methods
call(object, user_data, field_results)
click to toggle source
# File lib/livr/rules/meta.rb, line 34 def call(object, user_data, field_results) return if is_no_value(object) if ( !object.is_a?(Hash) || !object[@selector_field] || !@validators[ object[@selector_field] ] ) return 'FORMAT_ERROR' end validator = @validators.fetch(object.fetch(@selector_field)) result = validator.validate(object) if result field_results << result return else return validator.get_errors end end