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



29
30
31
32
33
34
# File 'lib/live_ast/linker.rb', line 29

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



36
37
38
39
40
# File 'lib/live_ast/linker.rb', line 36

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
26
27
# File 'lib/live_ast/linker.rb', line 23

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