Method: OXM::Object#compact!
- Defined in:
- lib/oxm/object.rb
#compact! ⇒ OXM::Object
Compacts the object by removing empty child elements and then collapsing element Arrays. After compaction, single-element arrays are collapsed, and empty arrays become nil.
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/oxm/object.rb', line 104 def compact! @nodes.each do |key, value| if value.is_a?(Array) value = value.reject(&:empty?) @nodes[key] = case value.length when 0 nil when 1 value.first else value end end end self end |