lib/garoon-cat/request.rb in garoon-cat-0.2.1 vs lib/garoon-cat/request.rb in garoon-cat-0.3.0

- old
+ new

@@ -55,14 +55,14 @@ case target when Hash target.each do |key, v1| case v1 when String - parameters.add_element(key.to_s).add_text(v1.to_s) + add_attribute_or_element!(parameters, key, v1) when Array v1.each do |v2| - parameters.add_element(key.to_s).add_text(v2.to_s) + add_attribute_or_element!(parameters, key, v2) end end end end parameters @@ -95,8 +95,21 @@ doc end def to_s doc.to_s + end + + private + + # @param element [REXML::Element] + # @param key [String, Symbol] + # @param value [String] + def add_attribute_or_element!(element, key, value) + if key[0] == "@" + element.root.add_attribute(key[1..-1].to_s, value) + else + element.add_element(key.to_s).add_text(value.to_s) + end end end