class KirguduBase::DynamicPages::Page def initialize(options = {}) self.name = nil @forms = {} @filters = {} if options options.symbolize_keys! options.each_pair do |key, value| self.send("#{key}=", value) end end end def name @name end def name= value @name = value end def forms @forms end def filters @filters end def filter(filter) raise "Cannot create empty Filter" unless filter raise "Duplicate Filter with name: #{filter.name}" if @filters[filter.name] @filters[form.name] = filter end def form(form) raise "Cannot create empty Form" unless form raise "Duplicate Form with name: #{form.name}" if @forms[form.name] @forms[form.name] = form end #def clone # clonned = ::KirguduBase::DynamicPages::Page.new(name: self.name) # # self.forms.each do |form| # clonned.form(form.clone) # end #end end