Sha256: 30fbecb424ce1f1fc5a99e294a3f1918838ebd743319748ec56e6582aee6e9f8

Contents?: true

Size: 959 Bytes

Versions: 8

Compression:

Stored size: 959 Bytes

Contents

module Yoda
  module Model
    module Types
      class ModuleType < Base
        # @return [ScopedPath]
        attr_reader :path

        # @param value [String, Path, ScopedPath]
        def initialize(path)
          @path = ScopedPath.build(path)
        end

        # @param another [Object]
        def eql?(another)
          another.is_a?(ModuleType) &&
          path == another.path
        end

        def hash
          [self.class.name, path].hash
        end

        # @param paths [Array<Path>]
        # @return [self]
        def change_root(paths)
          self.class.new(path.change_scope(paths))
        end

        # @param registry [Registry]
        # @return [Array<YARD::CodeObjects::Base>]
        def resolve(registry)
          [Store::Query::FindMetaClass.new(registry).find(path)].compact
        end

        # @return [String]
        def to_s
          "#{path.path.to_s}.module"
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
yoda-language-server-0.7.2 lib/yoda/model/types/module_type.rb
yoda-language-server-0.7.1 lib/yoda/model/types/module_type.rb
yoda-language-server-0.7.0 lib/yoda/model/types/module_type.rb
yoda-language-server-0.6.2 lib/yoda/model/types/module_type.rb
yoda-language-server-0.6.1 lib/yoda/model/types/module_type.rb
yoda-language-server-0.6.0 lib/yoda/model/types/module_type.rb
yoda-language-server-0.5.0 lib/yoda/model/types/module_type.rb
yoda-language-server-0.4.0 lib/yoda/model/types/module_type.rb