class Avo::GridCollector

def blank?

def blank?
  title_field.blank?
end

def body(field_name, as:, **args, &block)

def body(field_name, as:, **args, &block)
  field_parser = Avo::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

def cover(field_name, as:, **args, &block)

def cover(field_name, as:, **args, &block)
  field_parser = Avo::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

def hydrate(model:, view:, resource:)

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

def initialize

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

def title(field_name, as:, **args, &block)

def title(field_name, as:, **args, &block)
  field_parser = Avo::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