Class: Refinery::Widgets::Template

Inherits:
Core::BaseModel
  • Object
show all
Defined in:
app/models/refinery/widgets/template.rb

Constant Summary collapse

PartNames =
Refinery::Pages.config[:default_parts]
Parts =
PartNames.map(&:underscore)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.part_namesObject



18
19
20
# File 'app/models/refinery/widgets/template.rb', line 18

def self.part_names
  PartNames
end

.partsObject



22
23
24
# File 'app/models/refinery/widgets/template.rb', line 22

def self.parts
  Parts
end

Instance Method Details

#synchronize_template_partsObject



26
27
28
29
30
31
32
# File 'app/models/refinery/widgets/template.rb', line 26

def synchronize_template_parts
  pages.each do |p|
    template_parts.each do |tp|
      tp.sychronize_widgets!(p)
    end
  end
end

#template_part(name) ⇒ Object



38
39
40
41
42
43
44
45
46
# File 'app/models/refinery/widgets/template.rb', line 38

def template_part(name)
  if template_parts.find{|tp| tp.name == name }
    template_parts.find{|tp| tp.name == name }
  elsif template_parts.where(name: name).any?
    template_parts.where(name: name).first
  else
    self.template_parts.build(name: name, locked: '0')
  end
end

#unlocked_template_partsObject



34
35
36
# File 'app/models/refinery/widgets/template.rb', line 34

def unlocked_template_parts
  template_parts.reject(&:locked?)
end

#widgetsObject



48
49
50
# File 'app/models/refinery/widgets/template.rb', line 48

def widgets
  template_parts.collect(&:widgets).flatten
end