class Riml::RewrittenASTCache

Public Class Methods

new() click to toggle source
# File lib/riml/rewritten_ast_cache.rb, line 3
def initialize
  @cache = {}
  @ast_classes_registered_cache = {}
end

Public Instance Methods

[](filename) click to toggle source
# File lib/riml/rewritten_ast_cache.rb, line 8
def [](filename)
  @cache[filename]
end
clear() click to toggle source
# File lib/riml/rewritten_ast_cache.rb, line 18
def clear
  @cache.clear
  @ast_classes_registered_cache.clear
end
fetch(filename) { || ... } click to toggle source
# File lib/riml/rewritten_ast_cache.rb, line 12
def fetch(filename)
  ast = @cache[filename]
  return ast if ast
  @cache[filename] = yield
end
fetch_classes_registered(ast) click to toggle source
# File lib/riml/rewritten_ast_cache.rb, line 27
def fetch_classes_registered(ast)
  @ast_classes_registered_cache[ast.object_id] || {}
end
save_classes_registered(ast, class_diff) click to toggle source
# File lib/riml/rewritten_ast_cache.rb, line 23
def save_classes_registered(ast, class_diff)
  @ast_classes_registered_cache[ast.object_id] = class_diff
end