module OrbitApp module Module module FrontendUtility Version = "0.1" module ClassMethods @@frontend_pages = [] #Record all frontend pages of orbit def add(var) #build @@frontend_pages @@frontend_pages << var end def all #return all frontend_pages of orbit return @@frontend_pages end end extend ClassMethods def self.included( other ) other.extend( ClassMethods ) end class AppPageSet # From Registration def initialize(&block) @frontend_pages = [] block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given? end def app_page(name,&block) @frontend_pages << AppPage.new(name,&block) end def to_module_app_format #For ModuleApp to fetch data result = {} @frontend_pages.collect do |t| result[t.name] = {:i18n=>t.get_i18n,:style=>t.get_style} end result end end class AppPage attr_reader :name attr_reader :style def initialize(name,&block) @style @name = name @frontend_i18n = 'rulingcom.errors.init.app_page_noname' block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given? end def frontend_i18n(i18n) @frontend_i18n = i18n end def get_i18n @frontend_i18n end def finalize! end def get_style @style end def style(ary)# [] @style = ary end protected end# of AppPage end # of FrontendUtility end # of Module end # of OrbitApp