Method: YARD::Templates::ErbCache.method_for
- Defined in:
- lib/yard/templates/erb_cache.rb
permalink .method_for(filename, &block) ⇒ Object
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 |