Module: Serialisable
- Defined in:
- lib/serialisable.rb,
lib/serialisable/version.rb
Constant Summary collapse
- VERSION =
'0.0.0'
Instance Method Summary collapse
- #attribute(name, selector, type = String) ⇒ Object
- #deserialise(xml) ⇒ Object
- #element(name, selector, type = String) ⇒ Object
- #elements(name, *args) ⇒ Object
- #root(selector) ⇒ Object
Instance Method Details
#attribute(name, selector, type = String) ⇒ Object
12 13 14 |
# File 'lib/serialisable.rb', line 12 def attribute(name, selector, type=String) @__attribute[name] = [selector, type] end |
#deserialise(xml) ⇒ Object
33 34 35 |
# File 'lib/serialisable.rb', line 33 def deserialise(xml) __deserialise Nokogiri::XML(xml) end |
#element(name, selector, type = String) ⇒ Object
16 17 18 |
# File 'lib/serialisable.rb', line 16 def element(name, selector, type=String) @__element[name] = [selector, type] end |
#elements(name, *args) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/serialisable.rb', line 20 def elements(name, *args) case args.size when 1 klass = args.first @__elements[name] = [nil, klass] when 2 selector, type = args @__elements[name] = [selector, type] else raise ArgumentError end end |
#root(selector) ⇒ Object
5 6 7 8 9 10 |
# File 'lib/serialisable.rb', line 5 def root(selector) @__root = selector @__element = {} @__elements = {} @__attribute = {} end |