Sha256: 71c46dda046ceffb5a9c6a438075690fa0d2e92381fd50c2ef1d5f59087233ff

Contents?: true

Size: 903 Bytes

Versions: 4

Compression:

Stored size: 903 Bytes

Contents

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

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

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

        # @param name [String]
        # @return [Objects::Base, nil]
        def find(name, **kwargs)
          scoped_path = Model::ScopedPath.new([object.path], name)
          FindConstant.new(registry).find(scoped_path, **kwargs)
        end

        # @param name [String]
        # @return [Enumerator<Objects::Base>]
        def select(name, **kwargs)
          FindConstant.new(registry).select_by_base_and_pattern(base: object, pattern: name)
        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/constant_member_set.rb
yoda-language-server-0.10.0 lib/yoda/store/query/constant_member_set.rb
yoda-language-server-0.9.0 lib/yoda/store/query/constant_member_set.rb
yoda-language-server-0.8.0 lib/yoda/store/query/constant_member_set.rb