Class: Lowkey::MethodDefVisitor
- Inherits:
-
Object
- Object
- Lowkey::MethodDefVisitor
- Includes:
- Query
- Defined in:
- lib/visitors/method_def_visitor.rb
Instance Method Summary collapse
-
#initialize(file_proxy:, parent_map:) ⇒ MethodDefVisitor
constructor
A new instance of MethodDefVisitor.
- #visit(method_node) ⇒ Object
Methods included from Query
Constructor Details
#initialize(file_proxy:, parent_map:) ⇒ MethodDefVisitor
Returns a new instance of MethodDefVisitor.
12 13 14 15 |
# File 'lib/visitors/method_def_visitor.rb', line 12 def initialize(file_proxy:, parent_map:) @file_proxy = file_proxy @parent_map = parent_map end |
Instance Method Details
#visit(method_node) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/visitors/method_def_visitor.rb', line 17 def visit(method_node) namespace = namespace(node: method_node, parent_map:) module_proxy = file_proxy[namespace] method_proxy = ProxyFactory.method_proxy(method_node:, file_proxy:) module_proxy.keyed_methods[method_node.name] = method_proxy # TODO: Implemented as tagged methods similar to tagged params. if ModuleProxy.class_method?(method_node:, parent_map:) module_proxy.class_methods[method_node.name] = method_proxy elsif module_proxy.class <= ClassProxy module_proxy.instance_methods[method_node.name] = method_proxy end end |