Class: Slippers::TemplateGroup

Inherits:
Object
  • Object
show all
Defined in:
lib/engine/template_group.rb

Direct Known Subclasses

TemplateGroupDirectory

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ TemplateGroup

Returns a new instance of TemplateGroup.



3
4
5
6
# File 'lib/engine/template_group.rb', line 3

def initialize(params={})
  @templates = params[:templates]
  @super_group = params[:super_group]
end

Instance Method Details

#find(subtemplate) ⇒ Object



8
9
10
11
12
# File 'lib/engine/template_group.rb', line 8

def find(subtemplate)
  return nil unless @templates
  return @templates[subtemplate.to_sym] if @templates.include?(subtemplate.to_sym)
  find_in_super_group(subtemplate)
end

#has_registered?(class_name) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
# File 'lib/engine/template_group.rb', line 14

def has_registered?(class_name)
   return false unless @templates
   return true if @templates.include?(class_name) 
   return false unless @super_group
   @super_group.has_registered?(class_name)  
end

#render(item) ⇒ Object



21
22
23
24
25
26
# File 'lib/engine/template_group.rb', line 21

def render(item)
  return '' unless @templates
  return @templates[item.class].render(item) if has_registered?(item.class)
  return '' unless @super_group
  @super_group.render(item)
end