Sha256: 71e12ed40067957021ae5a1bc3db6dcba4d582948f7535ec3bf7d9c1e2e1cd63

Contents?: true

Size: 1.53 KB

Versions: 4

Compression:

Stored size: 1.53 KB

Contents

module Yoda
  module Store
    module Query
      class MethodMemberSet
        # @return [Registry]
        attr_reader :registry

        # @return [Objects::NamespaceObject]
        attr_reader :object

        # @param object [Objects::NamespaceObject]
        # @param registry [Registry]
        # @param origin [AncestorTree]
        def initialize(registry:, object:)
          @registry = registry
          @object = object
        end

        # @return [Enumerator<Objects::MethodObject>]
        def to_enum(**kwargs)
          FindMethod.new(registry).all(object, **kwargs)
        end

        # @param method_name [String, Regexp]
        # @return [Objects::MethodObject, nil]
        def find(method_name, **kwargs)
          FindMethod.new(registry).find(object, method_name, **kwargs)
        end

        # @param method_name [String, Regexp]
        # @return [Enumerator<Objects::MethodObject>]
        def select(method_name, **kwargs)
          FindMethod.new(registry).select(object, method_name, **kwargs)
        end

        # @param method_name [String, Regexp]
        # @return [Model::FunctionSignatures::Base]
        def find_signature(method_name, **kwargs)
          FindSignature.new(registry).select(object, method_name, **kwargs).first
        end

        # @param method_name [String, Regexp]
        # @return [Array<Model::FunctionSignatures::Base>]
        def select_signature(method_name, **kwargs)
          FindSignature.new(registry).select(object, method_name, **kwargs)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
yoda-language-server-0.10.1 lib/yoda/store/query/method_member_set.rb
yoda-language-server-0.10.0 lib/yoda/store/query/method_member_set.rb
yoda-language-server-0.9.0 lib/yoda/store/query/method_member_set.rb
yoda-language-server-0.8.0 lib/yoda/store/query/method_member_set.rb