Class: Cardboard::PagePart

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
RankedModel
Defined in:
app/models/cardboard/page_part.rb

Instance Method Summary collapse

Instance Method Details

#attr(field) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
# File 'app/models/cardboard/page_part.rb', line 32

def attr(field)
  field = field.to_s
  @attr ||= {}
  @attr[field] ||= begin
    f = self.fields.where(identifier: field).first
    return nil unless f
    out = f.value_uid.nil? ? nil : f.value
    out = f.default if f.required? && out.nil?
    out
  end
end

#repeatable?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'app/models/cardboard/page_part.rb', line 20

def repeatable?
  template_hash[:repeatable]
end

#templateObject



28
29
30
# File 'app/models/cardboard/page_part.rb', line 28

def template
  template_hash[:fields]
end

#template_hashObject



24
25
26
# File 'app/models/cardboard/page_part.rb', line 24

def template_hash
  @template ||= self.page.template.fields[self.identifier.to_sym]
end