tapioca 0.4.24 → 0.4.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3346249d6372983bf2f589dc19126ec052dc93701d360e30d5b3f6955ece4f03
4
- data.tar.gz: 68857527a145259323b58089e08caf23144fa9bc987de1a40b03ee4d0afa4bcb
3
+ metadata.gz: 430d1e04346170a36cd598f5a579b4c7d8a64bdbf7a48f367987c6d663ff96ac
4
+ data.tar.gz: 6bfba68fcbe49dd3c66c9cc11208a9e29ddf868c1f60068c1c433fa650d47e3b
5
5
  SHA512:
6
- metadata.gz: 5d1affdb8f87456291175700165c84a121834abb89dd2bee50fb746926d752f05f1001dda59dad7f3688b081c97d94971829ebef8ea622f05acc2d264cc69632
7
- data.tar.gz: 7ba8a6d28322f9155dcd4351b1d68e698038ae322154d71d2fc8c26d06135f816259355584ded1f57b5b1aad96ea364b5e5fad64ddc32bcbe0561ea89b993189
6
+ metadata.gz: cd5d991fed1072e9342d17e9aeae3e3b45165a77f4bfe9fd3a7bf0877766ae2e2e223f972ff87d0776f1411fe5fcd1829db49ceb79180a992d9941e9fadafb1c
7
+ data.tar.gz: f023df1ce81ceef91fb1b3ab6522b1d1c97d61e3f7669b643e772c96a55655adb13aba616d923d7e4ffe74d46e2e58c94f9be2ca90aeccbc07051f670cc49212
@@ -53,21 +53,30 @@ module Tapioca
53
53
 
54
54
  sig { returns([T::Array[Gem], T::Array[String]]) }
55
55
  def load_dependencies
56
- deps = definition.locked_gems.dependencies.values
57
-
58
- missing_specs = T::Array[String].new
59
-
60
- dependencies = definition
61
- .resolve
62
- .materialize(deps, missing_specs)
56
+ materialized_dependencies, missing_specs = materialize_deps
57
+ dependencies = materialized_dependencies
63
58
  .map { |spec| Gem.new(spec) }
64
59
  .reject { |gem| gem.ignore?(dir) }
65
60
  .uniq(&:rbi_file_name)
66
61
  .sort_by(&:rbi_file_name)
67
-
68
62
  [dependencies, missing_specs]
69
63
  end
70
64
 
65
+ sig { returns([T::Array[::Gem::Specification], T::Array[String]]) }
66
+ def materialize_deps
67
+ deps = definition.locked_gems.dependencies.values
68
+ missing_specs = T::Array[String].new
69
+ materialized_dependencies = if definition.resolve.method(:materialize).arity == 1 # Support bundler >= v2.2.25
70
+ md = definition.resolve.materialize(deps)
71
+ missing_spec_names = md.missing_specs.map(&:name)
72
+ missing_specs = T.cast(md.missing_specs.map { |spec| "#{spec.name} (#{spec.version})" }, T::Array[String])
73
+ md.to_a.reject { |spec| missing_spec_names.include?(spec.name) }
74
+ else
75
+ definition.resolve.materialize(deps, missing_specs)
76
+ end
77
+ [materialized_dependencies, missing_specs]
78
+ end
79
+
71
80
  sig { returns(Bundler::Runtime) }
72
81
  def runtime
73
82
  Bundler::Runtime.new(File.dirname(gemfile.path), definition)
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Tapioca
5
- VERSION = "0.4.24"
5
+ VERSION = "0.4.25"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tapioca
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.24
4
+ version: 0.4.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ufuk Kayserilioglu
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2021-08-04 00:00:00.000000000 Z
14
+ date: 2021-08-26 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler