class HaveAPI::ModelAdapters::ActiveRecord::ValidatorTranslator
Attributes
handlers[R]
Public Class Methods
handle(validator, &block)
click to toggle source
# File lib/haveapi/model_adapters/active_record.rb, line 338 def handle(validator, &block) @handlers ||= {} @handlers[validator] = block end
new(params)
click to toggle source
# File lib/haveapi/model_adapters/active_record.rb, line 415 def initialize(params) @params = params end
Public Instance Methods
translate(v)
click to toggle source
# File lib/haveapi/model_adapters/active_record.rb, line 434 def translate(v) self.class.handlers.each do |klass, translator| next unless v.is_a?(klass) v.attributes.each do |attr| @attr = attr instance_exec(v, &translator) end break end end
validator(key, opts)
click to toggle source
# File lib/haveapi/model_adapters/active_record.rb, line 430 def validator(key, opts) validator_for(@attr, key, opts) end
validator_for(param, key, opts)
click to toggle source
# File lib/haveapi/model_adapters/active_record.rb, line 419 def validator_for(param, key, opts) @params.each do |p| next unless p.is_a?(::HaveAPI::Parameters::Typed) if p.db_name == param p.add_validator(key, opts) if p.load_validators? break end end end