Sha256: 53697956090e61463de289cfc62f2402e78258db158bb5a9ddd80355b3477bd5
Contents?: true
Size: 1.07 KB
Versions: 10
Compression:
Stored size: 1.07 KB
Contents
module Avo class GridCollector include Avo::Concerns::HasFields 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 = self.class.parse_field(field_name, as: as, **args, &block) end def title(field_name, as:, **args, &block) self.title_field = self.class.parse_field(field_name, as: as, **args, &block) end def body(field_name, as:, **args, &block) self.body_field = self.class.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 body_field.present? self end def blank? title_field.blank? end end end
Version data entries
10 entries across 10 versions & 1 rubygems