Method: Ow::Parser::ClassMethods#element

Defined in:
lib/ow/parser.rb

#element(name, options = {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/ow/parser.rb', line 8

def element(name, options = {})
  accessor_name = options.fetch(:as) { name }

  @element_mapping ||= Hash.new
  @element_mapping[name.to_s] = accessor_name

  define_method(accessor_name.to_sym) do
    instance_variable_get("@#{accessor_name}")
  end

  define_method("#{accessor_name}=".to_sym) do |value|
    instance_variable_set("@#{accessor_name}", value)
  end
end