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.



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

def initialize
  @data_items = {}
end

Instance Method Details

#add_data_item(data_item) ⇒ Object

Parameters:



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

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

#data_item(name) ⇒ Object



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

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

#each(&block) ⇒ Object



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

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

#filter_fieldsObject



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

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

#form_fieldsObject



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

def form_fields
  @form_fields ||= collect_form_fields
end

#form_fields_with_localeObject



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

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

#form_fields_without_localeObject



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

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

#has_field?(name) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#itemsObject



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

def items
  @data_items
end

#list_fieldsObject



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

def list_fields
  @list_fields ||= collect_list_fields
end

#localizable_fieldsObject



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

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

#origin_fieldsObject



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

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

#primary_fieldObject



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

def primary_field
  @primary_field ||= find_primary_field
end


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

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)


80
81
82
# File 'lib/rademade_admin/model/info/data_items.rb', line 80

def save_form_fields
  @save_form_fields ||= collect_save_form_fields
end

#uploader_fieldsObject



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

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