class RademadeAdmin::Model::Reflection
Constants
- ORM_TYPE_ACTIVERECORD
- ORM_TYPE_MONGOID
Attributes
controller[R]
model[R]
module_name[R]
Public Class Methods
new(model, controller, module_name)
click to toggle source
# File lib/rademade_admin/model/reflection.rb, line 10 def initialize(model, controller, module_name) @model, @controller, @module_name = model, controller, module_name end
Public Instance Methods
data_adapter()
click to toggle source
Load data adapter for current model
@return [RademadeAdmin::Model::Adapter::Data]
# File lib/rademade_admin/model/reflection.rb, line 17 def data_adapter @data_adapter ||= "RademadeAdmin::Model::Adapter::Data::#{orm_type}".constantize.new(@model) end
hideable?()
click to toggle source
# File lib/rademade_admin/model/reflection.rb, line 28 def hideable? _model_ancestors.include? RademadeAdmin::Hideable.name end
query_adapter()
click to toggle source
Load query adapter for current model
@return [RademadeAdmin::Model::Adapter::Query]
# File lib/rademade_admin/model/reflection.rb, line 24 def query_adapter @query_adapter ||= "RademadeAdmin::Model::Adapter::Query::#{orm_type}".constantize.new(@model) end
Protected Instance Methods
_model_ancestors()
click to toggle source
# File lib/rademade_admin/model/reflection.rb, line 34 def _model_ancestors @model_ancestors = @model.ancestors.map(&:to_s) end
orm_list()
click to toggle source
# File lib/rademade_admin/model/reflection.rb, line 46 def orm_list @orm_list ||= { 'ActiveRecord::Base' => ORM_TYPE_ACTIVERECORD, 'Mongoid::Document' => ORM_TYPE_MONGOID } end
orm_type()
click to toggle source
# File lib/rademade_admin/model/reflection.rb, line 38 def orm_type return @orm_type unless @orm_type.nil? orm_list.each do |orm_class, orm_type| @orm_type = orm_type if _model_ancestors.include? orm_class end @orm_type end