Sha256: 1f1fd5d0ebcd2d0b83996270d87c15163217fee826e2397eedf59293321bb992

Contents?: true

Size: 547 Bytes

Versions: 9

Compression:

Stored size: 547 Bytes

Contents

module YARD
  module Templates
    # @since 0.5.4
    module ErbCache
      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

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

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
yard-0.6.8 lib/yard/templates/erb_cache.rb
yard-0.6.7 lib/yard/templates/erb_cache.rb
yard-0.6.6 lib/yard/templates/erb_cache.rb
yard-0.6.5 lib/yard/templates/erb_cache.rb
yard-0.6.4 lib/yard/templates/erb_cache.rb
yard-0.6.3 lib/yard/templates/erb_cache.rb
yard-0.6.2 lib/yard/templates/erb_cache.rb
yard-0.6.1 lib/yard/templates/erb_cache.rb
yard-0.6.0 lib/yard/templates/erb_cache.rb