Class: Twig::Loader::Hash

Inherits:
Base
  • Object
show all
Defined in:
lib/twig/loader/hash.rb

Instance Method Summary collapse

Constructor Details

#initialize(templates) ⇒ Hash

Returns a new instance of Hash.

Parameters:

  • templates (Hash<String>)


7
8
9
10
11
# File 'lib/twig/loader/hash.rb', line 7

def initialize(templates)
  super()

  @templates = templates.transform_keys { |name| normalize_name(name) }
end

Instance Method Details

#exists?(name) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
26
27
# File 'lib/twig/loader/hash.rb', line 23

def exists?(name)
  name = normalize_name(name)

  @templates.key?(name)
end

#fresh?(name, time) ⇒ Boolean

Returns:

  • (Boolean)


39
40
41
42
43
44
45
46
47
# File 'lib/twig/loader/hash.rb', line 39

def fresh?(name, time)
  name = normalize_name(name)

  unless @templates[name]
    raise Error::Loader, "Template \"#{name}\" is not defined."
  end

  true
end

#get_cache_key(name) ⇒ Object



29
30
31
32
33
34
35
36
37
# File 'lib/twig/loader/hash.rb', line 29

def get_cache_key(name)
  name = normalize_name(name)

  unless @templates[name]
    raise Error::Loader, "Template \"#{name}\" is not defined."
  end

  "#{name}:#{@templates[name]}"
end

#get_source_context(name) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/twig/loader/hash.rb', line 13

def get_source_context(name)
  name = normalize_name(name)

  unless @templates[name]
    raise Error::Loader, "Template \"#{name}\" is not defined."
  end

  ::Twig::Source.new(@templates[name], name)
end