Module: YARD::Templates::ErbCache

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

Overview

Since:

Class Method Summary (collapse)

Class Method Details

+ (Object) clear!

Since:

  • 0.5.4



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

def self.clear!
  return unless @methods
  @methods.clear
end

+ (Object) method_for(filename, &block)

Since:

  • 0.5.4



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

def self.method_for(filename, &block)
  @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