Class: FreshBooks::BaseObject
- Inherits:
-
Object
- Object
- FreshBooks::BaseObject
- Defined in:
- lib/freshbooks/extensions/base_object.rb
Instance Method Summary collapse
-
#elem_name ⇒ Object
The root element is the class name, downcased (and underscored if there is any CamelCase).
- #to_xml ⇒ Object
Instance Method Details
#elem_name ⇒ Object
The root element is the class name, downcased (and underscored if there is any CamelCase)
27 28 29 |
# File 'lib/freshbooks/extensions/base_object.rb', line 27 def elem_name elem_name = self.class.to_s.split('::').last.gsub(/([a-z])([A-Z])/, '\1_\2').downcase end |
#to_xml ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/freshbooks/extensions/base_object.rb', line 7 def to_xml # The root element is the elem name root = Element.new elem_name # Add each BaseObject member to the root elem self.members.each do |field_name| value = self.send(field_name) if value.is_a?(Array) node = root.add_element(field_name) value.each { |array_elem| node.add_element(array_elem.to_xml) } elsif !value.nil? root.add_element(field_name).text = value end end root end |