Class: RademadeAdmin::Model::Info::DataItems
- Inherits:
-
Object
- Object
- RademadeAdmin::Model::Info::DataItems
- 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
- #add_data_item(data_item) ⇒ Object
- #csv_fields ⇒ Object
- #data_item(name) ⇒ Object
- #each(&block) ⇒ Object
- #filter_fields ⇒ Object
- #form_fields ⇒ Object
- #form_fields_with_locale ⇒ Object
- #form_fields_without_locale ⇒ Object
- #has_field?(name) ⇒ Boolean
-
#initialize ⇒ DataItems
constructor
A new instance of DataItems.
- #items ⇒ Object
- #list_fields ⇒ Object
- #localizable_fields ⇒ Object
- #origin_fields ⇒ Object
- #primary_field ⇒ Object
- #related_fields ⇒ Object
-
#save_form_fields ⇒ Array
Get Array of RademadeAdmin::Model::Info::DataItem for saving.
- #uploader_fields ⇒ Object
Constructor Details
#initialize ⇒ DataItems
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
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_fields ⇒ Object
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_fields ⇒ Object
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_fields ⇒ Object
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_locale ⇒ Object
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_locale ⇒ Object
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
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 |
#items ⇒ Object
16 17 18 |
# File 'lib/rademade_admin/model/info/data_items.rb', line 16 def items @data_items end |
#list_fields ⇒ Object
57 58 59 |
# File 'lib/rademade_admin/model/info/data_items.rb', line 57 def list_fields @list_fields ||= collect_list_fields end |
#localizable_fields ⇒ Object
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_fields ⇒ Object
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_field ⇒ Object
37 38 39 |
# File 'lib/rademade_admin/model/info/data_items.rb', line 37 def primary_field @primary_field ||= find_primary_field end |
#related_fields ⇒ Object
45 46 47 |
# File 'lib/rademade_admin/model/info/data_items.rb', line 45 def @related_fields ||= items.select { |_, data_item| data_item.has_relation? } end |
#save_form_fields ⇒ Array
Get Array of RademadeAdmin::Model::Info::DataItem for saving
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_fields ⇒ Object
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 |