lib/dotremap/appdef.rb in dotremap-0.0.6 vs lib/dotremap/appdef.rb in dotremap-0.0.7

- old
+ new

@@ -1,28 +1,23 @@ +require "dotremap/xml_tree" + class Dotremap::Appdef + include Dotremap::XmlTree + AVAILABLE_OPTIONS = %i( equal prefix suffix ).freeze def initialize(appname, options) - @childs = [] - @appname = appname + property = Dotremap::Property.new("appname", appname) + add_child(property) options.each do |option, value| raise "Unavailable option: #{property}" unless AVAILABLE_OPTIONS.include?(option) - @childs << Dotremap::Property.new(option, value) - end - end - def to_xml - [ - "<appdef>", - [ - "<appname>#{@appname}</appname>", - *@childs.map(&:to_xml), - ].join("\n").gsub(/^/, " "), - "</appdef>", - ].join("\n") + property = Dotremap::Property.new(option, value) + add_child(property) + end end end