Class: WarningValidator

Inherits:
ActiveModel::Validator
  • Object
show all
Defined in:
lib/validators/warning_validator.rb

Instance Method Summary collapse

Instance Method Details

#new_condition?(record) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/validators/warning_validator.rb', line 16

def new_condition?(record)
  options[:new_condition].call(record)
end

#validate(record) ⇒ Object



2
3
4
5
6
# File 'lib/validators/warning_validator.rb', line 2

def validate(record)
  if warning_condition?(record)
    record.warnings[:base] << ModelWarning.new(options[:label],options[:message],options[:severity],new_condition?(record))
  end
end

#warning_condition?(record) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
11
12
13
14
# File 'lib/validators/warning_validator.rb', line 8

def warning_condition?(record)
  if options[:condition].respond_to?(:call)
    options[:condition].call(record)
  else
    record.method(options[:condition]).call
  end
end