class RademadeAdmin::Model::Info

Attributes

model_reflection[R]
nested[W]

Public Class Methods

new(model_reflection, model_configuration, nested) click to toggle source

Initialization for model info. Model mapper

@param model_reflection [RademadeAdmin::Model::Reflection] @param model_configuration [RademadeAdmin::Model::Configuration]

# File lib/rademade_admin/model/info.rb, line 13
def initialize(model_reflection, model_configuration, nested)
  @model_reflection = model_reflection
  @model_configuration = model_configuration
  @nested = nested
end

Public Instance Methods

controller() click to toggle source
# File lib/rademade_admin/model/info.rb, line 35
def controller
  model_reflection.controller
end
data_items() click to toggle source
# File lib/rademade_admin/model/info.rb, line 69
def data_items
  fields.data_items
end
fields() click to toggle source

Fields data class

@return [RademadeAdmin::Model::Info::Fields]

# File lib/rademade_admin/model/info.rb, line 82
def fields
  @model_fields ||= RademadeAdmin::Model::Info::Fields.new(
    _data_adapter,
    @model_configuration,
    relations,
    uploaders
  )
end
has_csv?() click to toggle source

TODO it’s not Model::Info logic. Move method

# File lib/rademade_admin/model/info.rb, line 74
def has_csv?
  not data_items.csv_fields.empty?
end
hideable?() click to toggle source
# File lib/rademade_admin/model/info.rb, line 47
def hideable?
  @is_hideable ||= model_reflection.hideable?
end
item_name() click to toggle source
# File lib/rademade_admin/model/info.rb, line 27
def item_name
  @model_configuration.item_name
end
label_for(name) click to toggle source
# File lib/rademade_admin/model/info.rb, line 95
def label_for(name)
  @model_configuration.field_labels.label_for(name)
end
menu_count() click to toggle source
model() click to toggle source

Return model class

@return [Object]

# File lib/rademade_admin/model/info.rb, line 23
def model
  model_reflection.model
end
module_name() click to toggle source
# File lib/rademade_admin/model/info.rb, line 39
def module_name
  model_reflection.module_name
end
nested?() click to toggle source
# File lib/rademade_admin/model/info.rb, line 43
def nested?
  @nested
end
parent_model() click to toggle source
# File lib/rademade_admin/model/info.rb, line 51
def parent_model
  @model_configuration.parent_menu_item
end
preview_url(item) click to toggle source

TODO it’s not Model::Info logic. Move method

# File lib/rademade_admin/model/info.rb, line 60
def preview_url(item)
  unless @model_configuration.preview_url_block.nil?
    # calls within url helpers context
    Rails.application.routes.url_helpers.instance_exec(item, &@model_configuration.preview_url_block)
  end
rescue
  nil
end
query_adapter() click to toggle source
# File lib/rademade_admin/model/info.rb, line 91
def query_adapter
  model_reflection.query_adapter
end
singular_name() click to toggle source
# File lib/rademade_admin/model/info.rb, line 31
def singular_name
  @model_configuration.singular_name
end

Protected Instance Methods

_data_adapter() click to toggle source
# File lib/rademade_admin/model/info.rb, line 101
def _data_adapter
  model_reflection.data_adapter
end
relations() click to toggle source

@return [RademadeAdmin::Model::Info::Relations]

# File lib/rademade_admin/model/info.rb, line 108
def relations
  @model_relations ||= RademadeAdmin::Model::Info::Relations.new(_data_adapter)
end
uploaders() click to toggle source

@return [RademadeAdmin::Model::Info::Uploaders]

# File lib/rademade_admin/model/info.rb, line 113
def uploaders
  @model_uploaders ||= RademadeAdmin::Model::Info::Uploaders.new(_data_adapter)
end