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
 - #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.
      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
      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_fields ⇒ Object
      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_fields ⇒ Object
      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_locale ⇒ Object
      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_locale ⇒ Object
      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
      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  | 
  
#items ⇒ Object
      15 16 17  | 
    
      # File 'lib/rademade_admin/model/info/data_items.rb', line 15 def items @data_items end  | 
  
#list_fields ⇒ Object
      56 57 58  | 
    
      # File 'lib/rademade_admin/model/info/data_items.rb', line 56 def list_fields @list_fields ||= collect_list_fields end  | 
  
#localizable_fields ⇒ Object
      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_fields ⇒ Object
      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_field ⇒ Object
      36 37 38  | 
    
      # File 'lib/rademade_admin/model/info/data_items.rb', line 36 def primary_field @primary_field ||= find_primary_field end  | 
  
#related_fields ⇒ Object
      44 45 46  | 
    
      # File 'lib/rademade_admin/model/info/data_items.rb', line 44 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
      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_fields ⇒ Object
      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  |