Class: Jigsaw::Slot

Inherits:
ApplicationRecord show all
Includes:
SlotCompilable
Defined in:
app/models/jigsaw/slot.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.slot_list_scopeObject



6
7
8
# File 'app/models/jigsaw/slot.rb', line 6

def self.slot_list_scope
  :layout
end

.slot_uniqueness_scopeObject



10
11
12
# File 'app/models/jigsaw/slot.rb', line 10

def self.slot_uniqueness_scope
  :layout_id
end

Instance Method Details

#effective_configObject



66
67
68
69
70
71
72
# File 'app/models/jigsaw/slot.rb', line 66

def effective_config
  if linked_to_template? && slot_template
    slot_template.config
  else
    config
  end
end

#effective_data_compiled_digestObject



34
35
36
37
38
39
40
# File 'app/models/jigsaw/slot.rb', line 34

def effective_data_compiled_digest
  if linked_to_template? && slot_template
    slot_template.data_compiled_digest
  else
    data_compiled_digest
  end
end

#effective_data_compiled_sourceObject



26
27
28
29
30
31
32
# File 'app/models/jigsaw/slot.rb', line 26

def effective_data_compiled_source
  if linked_to_template? && slot_template
    slot_template.data_compiled_source
  else
    data_compiled_source
  end
end

#effective_data_sourceObject

— Template Linking —



18
19
20
21
22
23
24
# File 'app/models/jigsaw/slot.rb', line 18

def effective_data_source
  if linked_to_template? && slot_template
    slot_template.data_source
  else
    data_source
  end
end

#effective_render_compiled_digestObject



58
59
60
61
62
63
64
# File 'app/models/jigsaw/slot.rb', line 58

def effective_render_compiled_digest
  if linked_to_template? && slot_template
    slot_template.render_compiled_digest
  else
    render_compiled_digest
  end
end

#effective_render_compiled_sourceObject



50
51
52
53
54
55
56
# File 'app/models/jigsaw/slot.rb', line 50

def effective_render_compiled_source
  if linked_to_template? && slot_template
    slot_template.render_compiled_source
  else
    render_compiled_source
  end
end

#effective_render_languageObject



82
83
84
85
86
87
88
# File 'app/models/jigsaw/slot.rb', line 82

def effective_render_language
  if linked_to_template? && slot_template
    slot_template.render_language
  else
    render_language
  end
end

#effective_render_sourceObject



42
43
44
45
46
47
48
# File 'app/models/jigsaw/slot.rb', line 42

def effective_render_source
  if linked_to_template? && slot_template
    slot_template.render_source
  else
    render_source
  end
end

#effective_sharesObject



74
75
76
77
78
79
80
# File 'app/models/jigsaw/slot.rb', line 74

def effective_shares
  if linked_to_template? && slot_template
    slot_template.shares
  else
    shares
  end
end


103
104
105
106
107
# File 'app/models/jigsaw/slot.rb', line 103

def link_to_template!(tmpl)
  self.slot_template = tmpl
  self.linked_to_template = true
  save!
end


90
91
92
93
94
95
96
97
98
99
100
101
# File 'app/models/jigsaw/slot.rb', line 90

def unlink_from_template!
  return unless linked_to_template? && slot_template

  self.data_source = slot_template.data_source
  self.render_source = slot_template.render_source
  self.render_language = slot_template.render_language
  self.config = slot_template.config.deep_dup
  self.shares = slot_template.shares.deep_dup
  self.linked_to_template = false
  self.slot_template = nil
  save!
end