Sha256: 54a0b569b9131ccf6dd027ea999c2e8623fa9df2e6387e3efb7b058b91cd30ca

Contents?: true

Size: 917 Bytes

Versions: 8

Compression:

Stored size: 917 Bytes

Contents

module Yoda
  module Store
    module Objects
      class MetaClassObject < NamespaceObject
        # @param path [String]
        # @return [String]
        def self.address_of(path)
          "#{path}%class"
        end

        # @param path [String]
        # @param document [Document, nil]
        # @param tag_list [TagList, nil]
        # @param instance_method_paths [Array<String>]
        # @param instance_mixin_paths [Array<String>]
        def initialize(**kwargs)
          super(kwargs)
        end

        # @return [String]
        def name
          @name ||= path.match(MODULE_TAIL_PATTERN) { |md| md[1] || md[2] }
        end

        def kind
          :meta_class
        end

        # @return [String]
        def address
          MetaClassObject.address_of(path)
        end

        # @return [String]
        def base_class_address
          path
        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/store/objects/meta_class_object.rb
yoda-language-server-0.7.1 lib/yoda/store/objects/meta_class_object.rb
yoda-language-server-0.7.0 lib/yoda/store/objects/meta_class_object.rb
yoda-language-server-0.6.2 lib/yoda/store/objects/meta_class_object.rb
yoda-language-server-0.6.1 lib/yoda/store/objects/meta_class_object.rb
yoda-language-server-0.6.0 lib/yoda/store/objects/meta_class_object.rb
yoda-language-server-0.5.0 lib/yoda/store/objects/meta_class_object.rb
yoda-language-server-0.4.0 lib/yoda/store/objects/meta_class_object.rb