Class: RubyIndexer::Enhancement Abstract
- Inherits:
-
Object
- Object
- RubyIndexer::Enhancement
- Defined in:
- lib/ruby_indexer/lib/ruby_indexer/enhancement.rb
Overview
This class is abstract.
Class Method Summary collapse
-
.all(listener) ⇒ Object
: (DeclarationListener listener) -> Array.
-
.clear ⇒ Object
Only available for testing purposes : -> void.
-
.inherited(child) ⇒ Object
: (Class child) -> void.
Instance Method Summary collapse
-
#initialize(listener) ⇒ Enhancement
constructor
: (DeclarationListener listener) -> void.
-
#on_call_node_enter(node) ⇒ Object
The ‘on_extend` indexing enhancement is invoked whenever an extend is encountered in the code.
-
#on_call_node_leave(node) ⇒ Object
: (Prism::CallNode node) -> void.
Constructor Details
#initialize(listener) ⇒ Enhancement
: (DeclarationListener listener) -> void
29 30 31 |
# File 'lib/ruby_indexer/lib/ruby_indexer/enhancement.rb', line 29 def initialize(listener) @listener = listener end |
Class Method Details
.all(listener) ⇒ Object
: (DeclarationListener listener) -> Array
17 18 19 |
# File 'lib/ruby_indexer/lib/ruby_indexer/enhancement.rb', line 17 def all(listener) @enhancements.map { |enhancement| enhancement.new(listener) } end |
.clear ⇒ Object
Only available for testing purposes : -> void
23 24 25 |
# File 'lib/ruby_indexer/lib/ruby_indexer/enhancement.rb', line 23 def clear @enhancements.clear end |
.inherited(child) ⇒ Object
: (Class child) -> void
11 12 13 14 |
# File 'lib/ruby_indexer/lib/ruby_indexer/enhancement.rb', line 11 def inherited(child) @enhancements << child super end |
Instance Method Details
#on_call_node_enter(node) ⇒ Object
The ‘on_extend` indexing enhancement is invoked whenever an extend is encountered in the code. It can be used to register for an included callback, similar to what `ActiveSupport::Concern` does in order to auto-extend the `ClassMethods` modules : (Prism::CallNode node) -> void
38 |
# File 'lib/ruby_indexer/lib/ruby_indexer/enhancement.rb', line 38 def on_call_node_enter(node); end |
#on_call_node_leave(node) ⇒ Object
: (Prism::CallNode node) -> void
42 |
# File 'lib/ruby_indexer/lib/ruby_indexer/enhancement.rb', line 42 def on_call_node_leave(node); end |