class Array def execute 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)) self[i].execute if(self[i].is_a?(Command)) i=i+1 end 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