Class: Space::View::Template

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/space/view/template.rb

Instance Attribute Summary (collapse)

Class Method Summary (collapse)

Instance Method Summary (collapse)

Methods included from Helpers

#bundle_deps, #bundle_info, #bundle_status, #format_boolean, #git_ahead, #git_status, #i, #project_title, #repo_local, #repo_local?, #repo_name, #repo_selected?, #repo_status, #tableize

Constructor Details

- (Template) initialize(path)

A new instance of Template



18
19
20
# File 'lib/space/view/template.rb', line 18

def initialize(path)
  @template = Template[path]
end

Instance Attribute Details

- (Object) template (readonly)

Returns the value of attribute template



16
17
18
# File 'lib/space/view/template.rb', line 16

def template
  @template
end

Class Method Details

+ (Object) [](path)



5
6
7
# File 'lib/space/view/template.rb', line 5

def [](path)
  templates[path] ||= ERB.new(File.read(path), nil, '%<>-')
end

+ (Object) templates



9
10
11
# File 'lib/space/view/template.rb', line 9

def templates
  @templates ||= {}
end

Instance Method Details

- (Object) assign(key, value)



27
28
29
30
# File 'lib/space/view/template.rb', line 27

def assign(key, value)
  instance_variable_set(:@#{key}", value)
  (class << self; self; end).send(:attr_reader, key)
end

- (Object) render(assigns)



22
23
24
25
# File 'lib/space/view/template.rb', line 22

def render(assigns)
  assigns.each { |key, value| assign(key, value) }
  template.result(binding)
end