Sha256: 64e55e67493b835c9e1faacbd1b197fd06b0ae5e024295714efe52f675eac329
Contents?: true
Size: 1.03 KB
Versions: 15
Compression:
Stored size: 1.03 KB
Contents
module Avo class GridCollector include FieldsCollector attr_accessor :cover_field attr_accessor :title_field attr_accessor :body_field def initialize @cover_field = nil @title_field = nil @body_field = nil end def cover(field_name, as:, **args, &block) self.cover_field = parse_field(field_name, as: as, **args, &block) end def title(field_name, as:, **args, &block) self.title_field = parse_field(field_name, as: as, **args, &block) end def body(field_name, as:, **args, &block) self.body_field = parse_field(field_name, as: as, **args, &block) end 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 title_field.present? self end def blank? title_field.blank? end end end
Version data entries
15 entries across 15 versions & 1 rubygems