Parent

SAXMachine::SAXConfig::ElementConfig

Attributes

collection[R]
data_class[R]
name[R]
setter[R]

Public Class Methods

new(name, options) click to toggle source
# File lib/sax-machine/sax_element_config.rb, line 7
def initialize(name, options)
  @name = name.to_s
  @with = options.fetch(:with, {})

  if options.has_key?(:value)
    @value = options[:value].to_s
  else
    @value = nil
  end
  
  @as = options[:as]
  @collection = options[:collection]
  
  if @collection
    @setter = "add_#{options[:as]}"
  else
    @setter = "#{@as}="
  end
  @data_class = options[:class]
  @required = options[:required]
end

Public Instance Methods

attrs_match?(attrs) click to toggle source
# File lib/sax-machine/sax_element_config.rb, line 49
def attrs_match?(attrs)
  @with.all? do |key, value|
    value === attrs[key.to_s]
  end
end
collection?() click to toggle source
# File lib/sax-machine/sax_element_config.rb, line 59
def collection?
  @collection
end
column() click to toggle source
# File lib/sax-machine/sax_element_config.rb, line 37
def column
  @as || @name.to_sym
end
has_value_and_attrs_match?(attrs) click to toggle source
# File lib/sax-machine/sax_element_config.rb, line 55
def has_value_and_attrs_match?(attrs)
  !@value.nil? && attrs_match?(attrs)
end
required?() click to toggle source
# File lib/sax-machine/sax_element_config.rb, line 41
def required?
  @required
end
to_s() click to toggle source
# File lib/sax-machine/sax_element_config.rb, line 33
def to_s
  "name: #{@name} dataclass: #{@data_class} setter: #{@setter} required: #{@required} value: #{@value} as:#{@as} collection: #{@collection} with: #{@with}"
end
value_configured?() click to toggle source
# File lib/sax-machine/sax_element_config.rb, line 29
def value_configured?
  !@value.nil?
end
value_from_attrs(attrs) click to toggle source
# File lib/sax-machine/sax_element_config.rb, line 45
def value_from_attrs(attrs)
  attrs.fetch(@value, nil)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.