Class: RademadeAdmin::Model::Info

Inherits:
Object
  • Object
show all
Defined in:
lib/rademade_admin/model/info.rb,
lib/rademade_admin/model/info/field.rb,
lib/rademade_admin/model/info/fields.rb,
lib/rademade_admin/model/info/relation.rb,
lib/rademade_admin/model/info/uploader.rb,
lib/rademade_admin/model/info/data_item.rb,
lib/rademade_admin/model/info/relations.rb,
lib/rademade_admin/model/info/uploaders.rb,
lib/rademade_admin/model/info/data_items.rb,
lib/rademade_admin/model/info/relation/gallery.rb,
lib/rademade_admin/model/info/data_item/initializer.rb

Defined Under Namespace

Classes: DataItem, DataItems, Field, Fields, Relation, Relations, Uploader, Uploaders

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model_reflection, model_configuration, nested) ⇒ Info

Initialization for model info. Model mapper

Parameters:



14
15
16
17
18
# File 'lib/rademade_admin/model/info.rb', line 14

def initialize(model_reflection, model_configuration, nested)
  @model_reflection = model_reflection
  @model_configuration = model_configuration
  @nested = nested
end

Instance Attribute Details

#model_reflectionObject (readonly)

Returns the value of attribute model_reflection.



6
7
8
# File 'lib/rademade_admin/model/info.rb', line 6

def model_reflection
  @model_reflection
end

#nested=(value) ⇒ Object (writeonly)

Sets the attribute nested

Parameters:

  • value

    the value to set the attribute nested to.



7
8
9
# File 'lib/rademade_admin/model/info.rb', line 7

def nested=(value)
  @nested = value
end

Instance Method Details

#controllerObject



36
37
38
# File 'lib/rademade_admin/model/info.rb', line 36

def controller
  model_reflection.controller
end

#data_itemsObject



70
71
72
# File 'lib/rademade_admin/model/info.rb', line 70

def data_items
  fields.data_items
end

#fieldsRademadeAdmin::Model::Info::Fields

Fields data class



83
84
85
86
87
88
89
90
# File 'lib/rademade_admin/model/info.rb', line 83

def fields
  @model_fields ||= RademadeAdmin::Model::Info::Fields.new(
    _data_adapter,
    @model_configuration,
    relations,
    uploaders
  )
end

#has_csv?Boolean

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

Returns:

  • (Boolean)


75
76
77
# File 'lib/rademade_admin/model/info.rb', line 75

def has_csv?
  not data_items.csv_fields.empty?
end

#hideable?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/rademade_admin/model/info.rb', line 48

def hideable?
  @is_hideable ||= model_reflection.hideable?
end

#item_nameObject



28
29
30
# File 'lib/rademade_admin/model/info.rb', line 28

def item_name
  @model_configuration.item_name
end

#label_for(name) ⇒ Object



96
97
98
# File 'lib/rademade_admin/model/info.rb', line 96

def label_for(name)
  @model_configuration.field_labels.label_for(name)
end


56
57
58
# File 'lib/rademade_admin/model/info.rb', line 56

def menu_count
  @model_configuration.menu_count_block.try(:call)
end

#modelObject

Return model class

Returns:

  • (Object)


24
25
26
# File 'lib/rademade_admin/model/info.rb', line 24

def model
  model_reflection.model
end

#module_nameObject



40
41
42
# File 'lib/rademade_admin/model/info.rb', line 40

def module_name
  model_reflection.module_name
end

#nested?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/rademade_admin/model/info.rb', line 44

def nested?
  @nested
end

#parent_modelObject



52
53
54
# File 'lib/rademade_admin/model/info.rb', line 52

def parent_model
  @model_configuration.parent_menu_item
end

#preview_url(item) ⇒ Object

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



61
62
63
64
65
66
67
68
# File 'lib/rademade_admin/model/info.rb', line 61

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_adapterObject



92
93
94
# File 'lib/rademade_admin/model/info.rb', line 92

def query_adapter
  model_reflection.query_adapter
end

#singular_nameObject



32
33
34
# File 'lib/rademade_admin/model/info.rb', line 32

def singular_name
  @model_configuration.singular_name
end