class RademadeAdmin::Model::Graph

Public Class Methods

new() click to toggle source
# File lib/rademade_admin/model/graph.rb, line 30
def initialize
  @model_infos = {}
end

Public Instance Methods

add_pair(module_name, controller_name, inner) click to toggle source
# File lib/rademade_admin/model/graph.rb, line 6
def add_pair(module_name, controller_name, inner)
  # Controller includes configuration for mapping model
  controller = LoaderService.const_get("#{module_name}/#{controller_name}_controller")
  controller.configuration.model(controller_name.classify) unless controller.model_name

  model = controller.model_class

  unless @model_infos[model.to_s]
    model_reflection = RademadeAdmin::Model::Reflection.new(model, controller_name, module_name)
    model_info = RademadeAdmin::Model::Info.new(model_reflection, controller.configuration, inner)
    @model_infos[model.to_s] = model_info
  end
end
model_info(model) click to toggle source
# File lib/rademade_admin/model/graph.rb, line 20
def model_info(model)
  @model_infos[model.to_s]
end
root_models() click to toggle source
# File lib/rademade_admin/model/graph.rb, line 24
def root_models
  @root_models ||= @model_infos.select { |_, model_info| not model_info.nested? }.values
end