class Datev::Field

Attributes

block[RW]
name[RW]
options[RW]

Public Class Methods

new(name, options={}, &block) click to toggle source
# File lib/datev/field.rb, line 5
def initialize(name, options={}, &block)
  unless name.is_a?(String)
    raise ArgumentError.new("Argument 'name' has to be a String")
  end

  unless options.is_a?(Hash)
    raise ArgumentError.new("Argument 'options' has to be a Hash")
  end

  self.name = name
  self.options = options

  if block_given?
    self.instance_eval(&block)
  end
end

Public Instance Methods

required?() click to toggle source
# File lib/datev/field.rb, line 22
def required?
  options[:required] == true
end
validate!(value) click to toggle source
# File lib/datev/field.rb, line 26
def validate!(value)
  if value.nil?
    raise ArgumentError.new("Value for field '#{name}' is required") if required?
  end
end