class Formulario::Field::ExceptionalValue

Attributes

reasons[R]

Public Class Methods

for(raw_value, reasons: Undefined) click to toggle source
# File lib/formulario/fields/exceptional_value.rb, line 8
def self.for(raw_value, reasons: Undefined)
  new(raw_value, reasons: reasons)
end
new(raw_value, reasons: Undefined) click to toggle source
Calls superclass method Formulario::Field::new
# File lib/formulario/fields/exceptional_value.rb, line 34
def initialize(raw_value, reasons: Undefined)
  the_reasons = reasons == Undefined ? ["is invalid"] : Array(reasons)

  if raw_value.is_a?(self.class)
    new_reasons = raw_value.reasons.concat(Array(the_reasons))
    value       = raw_value.raw_value
  else
    new_reasons = Array(the_reasons)
    value       = raw_value
  end

  @reasons = new_reasons

  super(value)
end

Public Instance Methods

each(&block) click to toggle source
# File lib/formulario/fields/exceptional_value.rb, line 24
def each(&block)
  reasons.each(&block)
end
exceptional?() click to toggle source
# File lib/formulario/fields/exceptional_value.rb, line 12
def exceptional?
  true
end
exceptional_class() click to toggle source
# File lib/formulario/fields/exceptional_value.rb, line 28
def exceptional_class
  self.class
end
inspect() click to toggle source
# File lib/formulario/fields/exceptional_value.rb, line 16
def inspect
  "#{self.class}[#{value} (#{reasons.join(' | ')})]"
end
to_a() click to toggle source
# File lib/formulario/fields/exceptional_value.rb, line 20
def to_a
  reasons
end