lib/tapioca/gemfile.rb in tapioca-0.11.2 vs lib/tapioca/gemfile.rb in tapioca-0.11.3
- old
+ new
@@ -103,17 +103,16 @@
end
sig { returns([T::Enumerable[Spec], T::Array[String]]) }
def materialize_deps
deps = definition.locked_gems.dependencies.values
- missing_specs = T::Array[String].new
- materialized_dependencies = if definition.resolve.method(:materialize).arity == 1 # Support bundler >= v2.2.25
- md = definition.resolve.materialize(deps)
- missing_spec_names = md.missing_specs.map(&:name)
- missing_specs = T.cast(md.missing_specs.map { |spec| "#{spec.name} (#{spec.version})" }, T::Array[String])
- md.to_a.reject { |spec| missing_spec_names.include?(spec.name) }
- else
- definition.resolve.materialize(deps, missing_specs)
+ materialized_dependencies = definition.resolve.materialize(deps)
+ missing_spec_names = materialized_dependencies.missing_specs.map(&:name).to_set
+ missing_specs = materialized_dependencies.missing_specs.map do |spec|
+ "#{spec.name} (#{spec.version})"
+ end
+ materialized_dependencies = materialized_dependencies.to_a.reject do |spec|
+ missing_spec_names.include?(spec.name)
end
[materialized_dependencies, missing_specs]
end
sig { returns(Bundler::Runtime) }