Sha256: a1515d36255f7c6d3e4d9f8047cbe2566c6e1a38ebc3ed44a79ce68399c3eac6

Contents?: true

Size: 469 Bytes

Versions: 1

Compression:

Stored size: 469 Bytes

Contents

class Typero::Type
  attr_accessor :opts
  attr_accessor :value

  def self.load name
    klass = 'Typero::%sType' % name.to_s.gsub(/[^\w]/,'').classify
    klass.constantize
  end

  ###

  def initialize value, opts={}
    @value = value
    @opts  = opts
  end

  # default validation for any type
  def validate
    true
  end

  # get error from option or the default one
  def error_for name
    @opts[name] || send(name)
  end

  def default
    nil
  end
end


Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
typero-0.5.2 ./lib/typero/type.rb