class HaveAPI::ModelAdapters::ActiveRecord::ValidatorTranslator
Attributes
Public Class Methods
Source
# File lib/haveapi/model_adapters/active_record.rb, line 338 def handle(validator, &block) @handlers ||= {} @handlers[validator] = block end
Source
# File lib/haveapi/model_adapters/active_record.rb, line 415 def initialize(params) @params = params end
Public Instance Methods
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
Source
# File lib/haveapi/model_adapters/active_record.rb, line 430 def validator(key, opts) validator_for(@attr, key, opts) end
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