Module: LiveAST::Attacher

Included in:
Linker
Defined in:
lib/live_ast/linker.rb

Constant Summary collapse

VAR_NAME =
:@_live_ast

Instance Method Summary collapse

Instance Method Details

#attach_to_method(klass, method, ast) ⇒ Object



27
28
29
30
31
32
# File 'lib/live_ast/linker.rb', line 27

def attach_to_method(klass, method, ast)
  unless klass.instance_variable_defined?(VAR_NAME)
    klass.instance_variable_set(VAR_NAME, {})
  end
  klass.instance_variable_get(VAR_NAME)[method] = ast
end

#attach_to_proc(obj, ast) ⇒ Object



19
20
21
# File 'lib/live_ast/linker.rb', line 19

def attach_to_proc(obj, ast)
  obj.instance_variable_set(VAR_NAME, ast)
end

#fetch_method_attachment(klass, method) ⇒ Object



34
35
36
37
38
# File 'lib/live_ast/linker.rb', line 34

def fetch_method_attachment(klass, method)
  if klass.instance_variable_defined?(VAR_NAME)
    klass.instance_variable_get(VAR_NAME)[method]
  end
end

#fetch_proc_attachment(obj) ⇒ Object



23
24
25
# File 'lib/live_ast/linker.rb', line 23

def fetch_proc_attachment(obj)
  obj.instance_variable_get(VAR_NAME) if obj.instance_variable_defined?(VAR_NAME)
end