module SettingsManager::Extension

Public Instance Methods

base_query() click to toggle source
# File lib/settings-manager/extension.rb, line 16
def base_query
  where(
    :base_obj_id => @base_obj.id,
    :base_obj_type => @base_obj.class.base_class.to_s
  )
end
model_name() click to toggle source
# File lib/settings-manager/extension.rb, line 23
def model_name
  @base_obj.class.settings_base_class.to_s.constantize.model_name
end
settings() click to toggle source
# File lib/settings-manager/extension.rb, line 9
def settings
  base_class = self.class.settings_base_class.to_s.constantize

  wrapped_class = base_class.clone
  wrapped_class.instance_variable_set(:@base_obj, self)

  wrapped_class.instance_eval do
    def base_query
      where(
        :base_obj_id => @base_obj.id,
        :base_obj_type => @base_obj.class.base_class.to_s
      )
    end

    def model_name
      @base_obj.class.settings_base_class.to_s.constantize.model_name
    end
  end

  wrapped_class
end