diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2023-03-16 17:23:19 +0100 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2023-11-13 11:06:10 +0900 |
commit | f273132bc017ee2d2c10f95f6629717f33ed54f9 (patch) | |
tree | b7501b396a6d531d803a7ac8490adc52be3870e5 | |
parent | 58b0a67432f5fd69d169ed4919ec0db6e6680279 (diff) |
[rubygems/rubygems] Extract builder to create a `LazySpecification` from full spec
https://github.com/rubygems/rubygems/commit/957d3d9a7f
-rw-r--r-- | lib/bundler/lazy_specification.rb | 8 | ||||
-rw-r--r-- | lib/bundler/resolver/spec_group.rb | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/lib/bundler/lazy_specification.rb b/lib/bundler/lazy_specification.rb index 62d028356e..fdd3efb443 100644 --- a/lib/bundler/lazy_specification.rb +++ b/lib/bundler/lazy_specification.rb @@ -10,6 +10,14 @@ module Bundler attr_reader :name, :version, :platform attr_accessor :source, :remote, :force_ruby_platform, :dependencies, :required_ruby_version, :required_rubygems_version + def self.from_spec(s) + lazy_spec = new(s.name, s.version, s.platform, s.source) + lazy_spec.dependencies = s.dependencies + lazy_spec.required_ruby_version = s.required_ruby_version + lazy_spec.required_rubygems_version = s.required_rubygems_version + lazy_spec + end + def initialize(name, version, platform, source = nil) @name = name @version = version diff --git a/lib/bundler/resolver/spec_group.rb b/lib/bundler/resolver/spec_group.rb index f956ec0968..5cee444e5e 100644 --- a/lib/bundler/resolver/spec_group.rb +++ b/lib/bundler/resolver/spec_group.rb @@ -25,11 +25,8 @@ module Bundler def to_specs(force_ruby_platform) @specs.map do |s| - lazy_spec = LazySpecification.new(name, version, s.platform, source) + lazy_spec = LazySpecification.from_spec(s) lazy_spec.force_ruby_platform = force_ruby_platform - lazy_spec.dependencies = s.dependencies - lazy_spec.required_ruby_version = s.required_ruby_version - lazy_spec.required_rubygems_version = s.required_rubygems_version lazy_spec end end |