Module: WaNew::ClientValidate::ActiveModel::Validations

Defined in:
lib/wanew/client_validate/active_model/validator.rb

Instance Method Summary collapse

Instance Method Details

#client_validation_hashObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/wanew/client_validate/active_model/validator.rb', line 17

def client_validation_hash
  _validators.except(nil, :block).inject({}) do |attr_hash, attr|

    validator_hash = attr[1].inject({}) do |kind_hash, validator|
      client_hash = validator.client_hash(self, attr[0])
      # Yeah yeah, #new_record? is not part of ActiveModel :p
      if (can_use_for_client_validation?(client_hash, validator))
        kind_hash.merge!(validator.kind => client_hash.except(:on))
      else
        kind_hash.merge!({})
      end
    end

    attr_hash.merge!(attr[0] => validator_hash)
  end.delete_if { |key, value| value.blank? }
end