class HashCast::Metadata::Attribute

Attributes

caster[R]
children[RW]
name[R]
options[R]

Public Class Methods

new(name, caster, options) click to toggle source
# File lib/hashcast/metadata/attribute.rb, line 6
def initialize(name, caster, options)
  @name      = name
  @caster    = caster
  @options   = options
  @children  = []
end

Public Instance Methods

allow_nil?() click to toggle source
# File lib/hashcast/metadata/attribute.rb, line 25
def allow_nil?
  !!options[:allow_nil]
end
has_children?() click to toggle source
# File lib/hashcast/metadata/attribute.rb, line 13
def has_children?
  !children.empty?
end
optional?() click to toggle source
# File lib/hashcast/metadata/attribute.rb, line 21
def optional?
  !!options[:optional]
end
required?() click to toggle source
# File lib/hashcast/metadata/attribute.rb, line 17
def required?
  !optional?
end