Class: Jav::GridCollector

Inherits:
Object
  • Object
show all
Includes:
Concerns::HasFields
Defined in:
lib/jav/grid_collector.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Concerns::HasFields

#fields, #get_field, #get_field_definitions, #get_fields, #get_items, #get_tabs, #hydrate_fields, #tab_groups, #tools

Constructor Details

#initializeGridCollector

Returns a new instance of GridCollector.



7
8
9
10
11
# File 'lib/jav/grid_collector.rb', line 7

def initialize
  @cover_field = nil
  @title_field = nil
  @body_field = nil
end

Instance Attribute Details

#body_fieldObject

Returns the value of attribute body_field.



5
6
7
# File 'lib/jav/grid_collector.rb', line 5

def body_field
  @body_field
end

#cover_fieldObject

Returns the value of attribute cover_field.



5
6
7
# File 'lib/jav/grid_collector.rb', line 5

def cover_field
  @cover_field
end

#title_fieldObject

Returns the value of attribute title_field.



5
6
7
# File 'lib/jav/grid_collector.rb', line 5

def title_field
  @title_field
end

Instance Method Details

#body(field_name, as:, **args, &block) ⇒ Object



23
24
25
26
# File 'lib/jav/grid_collector.rb', line 23

def body(field_name, as:, **args, &block)
  field_parser = Jav::Dsl::FieldParser.new(id: field_name, as: as, order_index: items_index, **args, &block).parse
  self.body_field = field_parser.instance if field_parser.valid?
end

#cover(field_name, as:, **args, &block) ⇒ Object



13
14
15
16
# File 'lib/jav/grid_collector.rb', line 13

def cover(field_name, as:, **args, &block)
  field_parser = Jav::Dsl::FieldParser.new(id: field_name, as: as, order_index: items_index, **args, &block).parse
  self.cover_field = field_parser.instance if field_parser.valid?
end

#hydrate(model:, view:, resource:) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/jav/grid_collector.rb', line 28

def hydrate(model:, view:, resource:)
  cover_field.hydrate(model: model, view: view, resource: resource) if cover_field.present?
  title_field.hydrate(model: model, view: view, resource: resource) if title_field.present?
  body_field.hydrate(model: model, view: view, resource: resource) if body_field.present?

  self
end

#title(field_name, as:, **args, &block) ⇒ Object



18
19
20
21
# File 'lib/jav/grid_collector.rb', line 18

def title(field_name, as:, **args, &block)
  field_parser = Jav::Dsl::FieldParser.new(id: field_name, as: as, order_index: items_index, **args, &block).parse
  self.title_field = field_parser.instance if field_parser.valid?
end