Sha256: 00050da4244383b55cfdea243f2b22735d715b085e8bc191bef2950434a827f3

Contents?: true

Size: 839 Bytes

Versions: 2

Compression:

Stored size: 839 Bytes

Contents

# typed: strict
# frozen_string_literal: true

module RubyIndexer
  module Enhancement
    extend T::Sig
    extend T::Helpers

    interface!

    requires_ancestor { 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
    sig do
      abstract.params(
        index: Index,
        owner: T.nilable(Entry::Namespace),
        node: Prism::CallNode,
        file_path: String,
        code_units_cache: T.any(
          T.proc.params(arg0: Integer).returns(Integer),
          Prism::CodeUnitsCache,
        ),
      ).void
    end
    def on_call_node(index, owner, node, file_path, code_units_cache); end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby-lsp-0.20.1 lib/ruby_indexer/lib/ruby_indexer/enhancement.rb
ruby-lsp-0.20.0 lib/ruby_indexer/lib/ruby_indexer/enhancement.rb