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