class ModuleApp include Mongoid::Document include Mongoid::Timestamps field :title, type: String field :key, type: String field :taggable, type: Boolean, default: false field :categorizable, type: Boolean, default: false field :sidebar_order,type: Integer,default: 0 has_many :categories, dependent: :destroy, :autosave => true has_and_belongs_to_many :tags, dependent: :destroy, :autosave => true def refetch_setting!(reg) self[:taggable] = reg.is_taggable self[:categorizable] = reg.is_categorizable end def get_registration OrbitApp::Module::Registration.find_by_key(key) end def self.find_by_key(key) self.find_by(:key => key) end def module_name I18n.t(get_registration.get_label_i18n) end def label I18n.t(label_i18n) end def label_i18n reg = get_registration reg.nil? ? 'Init is not defined completely' : get_registration.get_label_i18n end def taggable get_registration.is_taggable end def taggable_model get_registration.taggable_model end def categorizable get_registration.is_categorizable end end