Module: YARD::Templates::ErbCache

Included in:
Template
Defined in:
lib/yard/templates/erb_cache.rb

Overview

Since:

  • 0.5.4

Class Method Summary collapse

Class Method Details

.clear!Object

Since:

  • 0.5.4



17
18
19
20
# File 'lib/yard/templates/erb_cache.rb', line 17

def self.clear!
  return unless defined?(@methods) && @methods
  @methods.clear
end

.method_for(filename) ⇒ Object

Since:

  • 0.5.4



6
7
8
9
10
11
12
13
14
15
# File 'lib/yard/templates/erb_cache.rb', line 6

def self.method_for(filename)
  @methods ||= {}
  return @methods[filename] if @methods[filename]
  @methods[filename] = name = "_erb_cache_#{@methods.size}"
  erb = yield.src
  encoding = erb[/\A(#coding[:=].*\r?\n)/, 1] || ''
  module_eval "#{encoding}def #{name}; #{erb}; end", filename

  name
end