Class: RademadeAdmin::Model::Info::DataItems

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/rademade_admin/model/info/data_items.rb

Constant Summary collapse

UNINFORMATIVE_FIELDS =

rm_todo extract mixins

[:_id, :deleted_at, :position]

Instance Method Summary collapse

Constructor Details

#initializeDataItems

Returns a new instance of DataItems.



12
13
14
# File 'lib/rademade_admin/model/info/data_items.rb', line 12

def initialize
  @data_items = {}
end

Instance Method Details

#add_data_item(data_item) ⇒ Object

Parameters:



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

def add_data_item(data_item)
  items[data_item.name] = data_item
end

#csv_fieldsObject



61
62
63
# File 'lib/rademade_admin/model/info/data_items.rb', line 61

def csv_fields
  @csv_fields ||= collect_csv_fields
end

#data_item(name) ⇒ Object



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

def data_item(name)
  items[name.to_sym]
end

#each(&block) ⇒ Object



20
21
22
# File 'lib/rademade_admin/model/info/data_items.rb', line 20

def each(&block)
  items.values.each(&block)
end

#filter_fieldsObject



65
66
67
# File 'lib/rademade_admin/model/info/data_items.rb', line 65

def filter_fields
  @autocomplete_fields ||= collect_field_names { |data_item| data_item.string_field? }
end

#form_fieldsObject



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

def form_fields
  @form_fields ||= collect_form_fields
end

#form_fields_with_localeObject



77
78
79
# File 'lib/rademade_admin/model/info/data_items.rb', line 77

def form_fields_with_locale
  @form_fields_with_locale ||= collect_localized_form_fields(true)
end

#form_fields_without_localeObject



73
74
75
# File 'lib/rademade_admin/model/info/data_items.rb', line 73

def form_fields_without_locale
  @form_fields_without_locale ||= collect_localized_form_fields(false)
end

#has_field?(name) ⇒ Boolean

Returns:

  • (Boolean)


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

def has_field?(name)
  items.select{ |_, data_item| data_item.has_name? name }.length > 0
end

#itemsObject



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

def items
  @data_items
end

#list_fieldsObject



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

def list_fields
  @list_fields ||= collect_list_fields
end

#localizable_fieldsObject



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

def localizable_fields
  @localizable_fields ||= items.select { |_, data_item| data_item.localizable? }
end

#origin_fieldsObject



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

def origin_fields
  @origin_fields ||= collect_field_names { |data_item| data_item.simple_field? }
end

#primary_fieldObject



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

def primary_field
  @primary_field ||= find_primary_field
end


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

def related_fields
  @related_fields ||= items.select { |_, data_item| data_item.has_relation? }
end

#save_form_fieldsArray

Get Array of RademadeAdmin::Model::Info::DataItem for saving

Returns:

  • (Array)


85
86
87
# File 'lib/rademade_admin/model/info/data_items.rb', line 85

def save_form_fields
  @save_form_fields ||= collect_save_form_fields
end

#uploader_fieldsObject



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

def uploader_fields
  @uploader_fields ||= items.select { |_, data_item| data_item.has_uploader? }
end