class Conformity::Field

Attributes

name[R]
options[R]
type[RW]

Public Class Methods

new(name, options = {}) click to toggle source
# File lib/conformity/field.rb, line 6
def initialize(name, options = {})
  @name = name
  @options = options[:options]
  @required = options[:required] || false
end

Public Instance Methods

required?() click to toggle source
# File lib/conformity/field.rb, line 12
def required?
  @required
end
value() click to toggle source
# File lib/conformity/field.rb, line 16
def value
  if @value
    @value
  elsif required?
    raise FieldError, "Required field '#{name}' not set"
  end
end
value=(value) click to toggle source
# File lib/conformity/field.rb, line 24
def value=(value)
  if @options && !@options.include?(value)
    raise FieldError, "#{value} not in #{@options}"
  end

  @value = value
end