Module: DuckRecord::Validations

Extended by:
ActiveSupport::Concern
Includes:
ActiveModel::Validations
Included in:
Base
Defined in:
lib/duck_record/validations.rb,
lib/duck_record/validations/subset.rb,
lib/duck_record/validations/uniqueness_on_real_record.rb

Overview

Active Record Validations

Active Record includes the majority of its validations from ActiveModel::Validations all of which accept the :on argument to define the context where the validations are active. Active Record will always supply either the context of :create or :update dependent on whether the model is a new_record?.

Defined Under Namespace

Modules: ClassMethods, HelperMethods Classes: SubsetValidator, UniquenessOnRealRecordValidator

Instance Method Summary collapse

Instance Method Details

#valid!(context = nil) ⇒ Object



47
48
49
50
51
52
53
# File 'lib/duck_record/validations.rb', line 47

def valid!(context = nil)
  if valid?(context)
    true
  else
    raise RecordInvalid.new(self)
  end
end

#valid?(context = nil) ⇒ Boolean Also known as: validate

Runs all the validations within the specified context. Returns true if no errors are found, false otherwise.

Aliased as #validate.

If the argument is false (default is nil), the context is set to :default.

Validations with no :on option will run no matter the context. Validations with some :on option will only run in the specified context.

Returns:

  • (Boolean)


41
42
43
44
45
# File 'lib/duck_record/validations.rb', line 41

def valid?(context = nil)
  context ||= default_validation_context
  output = super(context)
  errors.empty? && output
end