Module: Protector::Adapters::ActiveRecord::Validations

Defined in:
lib/protector/adapters/active_record/validations.rb

Instance Method Summary collapse

Instance Method Details

#valid?(*args) ⇒ Boolean

Returns:

  • (Boolean)


5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/protector/adapters/active_record/validations.rb', line 5

def valid?(*args)
  if protector_subject?
    state  = Protector.insecurely{ super(*args) }
    method = new_record? ? :first_uncreatable_field : :first_unupdatable_field
    field  = protector_meta.send(method, protector_changed)

    if field
      errors[:base] << I18n.t('protector.invalid', field: field)
      state = false
    end

    state
  else
    super(*args)
  end
end