Sha256: b110c022717a9b6246dfdb023a59e3946fac1f2e2e6dc96a9b4d41eeb6e4e836

Contents?: true

Size: 1.7 KB

Versions: 22

Compression:

Stored size: 1.7 KB

Contents

# frozen_string_literal: true

module Bundler
  class Source
    class Metadata < Source
      def specs
        @specs ||= Index.build do |idx|
          idx << Gem::Specification.new("Ruby\0", Bundler::RubyVersion.system.gem_version)
          idx << Gem::Specification.new("RubyGems\0", Gem::VERSION) do |s|
            s.required_rubygems_version = Gem::Requirement.default
          end

          if local_spec = Gem.loaded_specs["bundler"]
            raise CorruptBundlerInstallError.new(local_spec) if local_spec.version.to_s != Bundler::VERSION

            idx << local_spec
          else
            idx << Gem::Specification.new do |s|
              s.name     = "bundler"
              s.version  = VERSION
              s.license  = "MIT"
              s.platform = Gem::Platform::RUBY
              s.authors  = ["bundler team"]
              s.bindir   = "exe"
              s.homepage = "https://bundler.io"
              s.summary  = "The best way to manage your application's dependencies"
              s.executables = %w[bundle]
              # can't point to the actual gemspec or else the require paths will be wrong
              s.loaded_from = __dir__
            end
          end

          idx.each {|s| s.source = self }
        end
      end

      def options
        {}
      end

      def install(spec, _opts = {})
        print_using_message "Using #{version_message(spec)}"
        nil
      end

      def to_s
        "the local ruby installation"
      end

      def ==(other)
        self.class == other.class
      end
      alias_method :eql?, :==

      def hash
        self.class.hash
      end

      def version_message(spec)
        "#{spec.name} #{spec.version}"
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 2 rubygems

Version Path
rubygems-update-3.5.22 bundler/lib/bundler/source/metadata.rb
bundler-2.5.22 lib/bundler/source/metadata.rb
rubygems-update-3.5.21 bundler/lib/bundler/source/metadata.rb
bundler-2.5.21 lib/bundler/source/metadata.rb
rubygems-update-3.5.20 bundler/lib/bundler/source/metadata.rb
bundler-2.5.20 lib/bundler/source/metadata.rb
rubygems-update-3.5.19 bundler/lib/bundler/source/metadata.rb
bundler-2.5.19 lib/bundler/source/metadata.rb
rubygems-update-3.5.18 bundler/lib/bundler/source/metadata.rb
bundler-2.5.18 lib/bundler/source/metadata.rb
rubygems-update-3.5.17 bundler/lib/bundler/source/metadata.rb
bundler-2.5.17 lib/bundler/source/metadata.rb
rubygems-update-3.5.16 bundler/lib/bundler/source/metadata.rb
bundler-2.5.16 lib/bundler/source/metadata.rb
rubygems-update-3.5.15 bundler/lib/bundler/source/metadata.rb
bundler-2.5.15 lib/bundler/source/metadata.rb
rubygems-update-3.5.14 bundler/lib/bundler/source/metadata.rb
bundler-2.5.14 lib/bundler/source/metadata.rb
rubygems-update-3.5.13 bundler/lib/bundler/source/metadata.rb
bundler-2.5.13 lib/bundler/source/metadata.rb