Class: Galleruby::TemplateDependencyCalculator

Inherits:
Template
  • Object
show all
Defined in:
lib/galleruby/template.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Template

#base_relative, #render_to, #template_path

Constructor Details

#initialize(file, config, output_filename = nil, base_directory = nil) ⇒ TemplateDependencyCalculator

Returns a new instance of TemplateDependencyCalculator.



84
85
86
87
88
# File 'lib/galleruby/template.rb', line 84

def initialize(file, config, output_filename=nil, base_directory=nil)
    super(file, config, output_filename, base_directory)
    @file = file
    render_to('/dev/null')
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(m, *args, &block) ⇒ Object



104
105
106
# File 'lib/galleruby/template.rb', line 104

def method_missing(m, *args, &block)
    TemplatePlaceholder.new
end

Instance Attribute Details

#filesObject

Returns the value of attribute files.



82
83
84
# File 'lib/galleruby/template.rb', line 82

def files
  @files
end

Instance Method Details

#include_for_each(file, elements) ⇒ Object



95
96
97
# File 'lib/galleruby/template.rb', line 95

def include_for_each(file, elements)
    include_template file
end

#include_template(file, locals = {}) ⇒ Object



99
100
101
102
# File 'lib/galleruby/template.rb', line 99

def include_template(file, locals={})
    template = self.class.new(file, @config, @output_filename, @base_directory)
    (@files << file).merge(template.files)
end

#render(locals = {}) ⇒ Object



90
91
92
93
# File 'lib/galleruby/template.rb', line 90

def render(locals={})
    @files = Set[@file]
    @engine.render(self)
end