class Array def execute value=nil i=0 while i < self.length self[i]=Command.new(self[i]) if(self[i].is_a?(String)) self[i]=Command.new(self[i]) if(self[i].is_a?(Hash) && !self[i].is_a?(Command)) if(!value.nil? && value.is_a?(Hash)) value.each{|k,v|self[i][k]=v} end self[i].execute if(self[i].is_a?(Command)) i=i+1 end end def add command self << command if(!include?(command)) end def to_html html=Array.new html << '
' self.each{|e| html << e.to_html if e.respond_to?(:to_html) } html << '
' html.join end end