Module: Swirl::Helpers::Compactor
- Included in:
- AWS
- Defined in:
- lib/swirl/helpers.rb
Class Method Summary collapse
Class Method Details
.compact(response) ⇒ Object
7 8 9 10 11 |
# File 'lib/swirl/helpers.rb', line 7 def compact(response) root_key = response.keys.first base = response[root_key] compact!(base) end |
.compact!(data) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/swirl/helpers.rb', line 14 def compact!(data) data.inject({}) do |com, (key, value)| if value.is_a?(Hash) converted = if value.has_key?("item") || value.has_key?("member") items = value["item"] || value ["member"] items ||= [] items = items.is_a?(Array) ? items : [items] items.map {|item| compact!(item) } else [] end com[key] = converted elsif key == "xmlns" next(com) else com[key] = value end com end end |