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

#initialize(path) ⇒ Template

Returns 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

#templateObject (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

.[](path) ⇒ Object



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

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

.templatesObject



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

def templates
  @templates ||= {}
end

Instance Method Details

#assign(key, value) ⇒ Object



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

#render(assigns) ⇒ Object



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