From 81f1e9d793c896953f645e46331854e4c7127ea0 Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 8 Apr 2015 13:12:06 -0600 Subject: dynamically pass parameters to xml node based on whether there is text content or not. --- lib/scale/node.rb | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/lib/scale/node.rb b/lib/scale/node.rb index 00b3b7c..c71d589 100644 --- a/lib/scale/node.rb +++ b/lib/scale/node.rb @@ -28,17 +28,9 @@ module Scale end def append_to(builder) - if content.nil? - builder.send(xml_tag.to_sym, xml_attributes) do - each do |node| - node.append_to(builder) - end - end - else - builder.send(xml_tag.to_sym, content, xml_attributes) do - each do |node| - node.append_to(builder) - end + builder.send(xml_tag.to_sym, *xml_parameters) do + each do |node| + node.append_to(builder) end end end @@ -46,5 +38,12 @@ module Scale def xml_attributes attributes.delete_if { |key, value| value.nil? } end + + private + + def xml_parameters + return [xml_attributes] if content.nil? + [content, xml_attributes] + end end end -- cgit v1.2.3