kettle-rb 0.1.18 → 0.1.20
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +40 -1
- data/README.md +11 -48
- data/lib/kettle/rb/ruby_series_buckets.rb +110 -0
- data/lib/kettle/rb/version.rb +1 -1
- data/lib/kettle/rb.rb +1 -0
- data/sig/kettle/rb.rbs +6 -0
- data.tar.gz.sig +0 -0
- metadata +13 -12
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 04d9d8008b83d76e859f51940db356e205ec35148ef41cdddea34546f38e55a1
|
|
4
|
+
data.tar.gz: 2c90edff594720214534f2b6a0fbec46ca666b221224f899317e8ea4ae41f8fc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ff086713cf25198ba186051ebc52f6234a1ca8812664caf38d70bb9cebd584dcf17ec540a20dbaef585740c5c4b58c7ba21e1f22c21a9f475b1bc385495fd490
|
|
7
|
+
data.tar.gz: 4555a3e90848db1eef3621b3a7ac5b1030973fddf82ad5e58346527ba842cf40adb43a163a74330c8b3dd2933f873af769c8658b8aee401314401fc987d4bd62
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,41 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [0.1.20] - 2026-10-25
|
|
34
|
+
|
|
35
|
+
- TAG: [v0.1.20][0.1.20t]
|
|
36
|
+
- COVERAGE: 100.00% -- 421/421 lines in 11 files
|
|
37
|
+
- BRANCH COVERAGE: 98.15% -- 53/54 branches in 11 files
|
|
38
|
+
- 63.08% documented
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- [kc] kettle-jem/template: updated 1 project file:
|
|
43
|
+
- code and tests (1)
|
|
44
|
+
|
|
45
|
+
## [0.1.19] - 2026-10-25
|
|
46
|
+
|
|
47
|
+
- TAG: [v0.1.19][0.1.19t]
|
|
48
|
+
- COVERAGE: 100.00% -- 421/421 lines in 11 files
|
|
49
|
+
- BRANCH COVERAGE: 98.15% -- 53/54 branches in 11 files
|
|
50
|
+
- 63.08% documented
|
|
51
|
+
|
|
52
|
+
### Added
|
|
53
|
+
|
|
54
|
+
- Shared Ruby series bucket range calculation for compatibility matrices and template curation.
|
|
55
|
+
|
|
56
|
+
### Changed
|
|
57
|
+
|
|
58
|
+
- [kc] kettle-jem/prepare: updated 25 project files:
|
|
59
|
+
- dependencies (25)
|
|
60
|
+
|
|
61
|
+
- [kc] kettle-jem/template: updated 13 project files:
|
|
62
|
+
- code and tests (2)
|
|
63
|
+
- dependencies (2)
|
|
64
|
+
- documentation (1)
|
|
65
|
+
- other (1)
|
|
66
|
+
- workflows (7)
|
|
67
|
+
|
|
33
68
|
## [0.1.18] - 2026-10-15
|
|
34
69
|
|
|
35
70
|
- TAG: [v0.1.18][0.1.18t]
|
|
@@ -382,7 +417,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
382
417
|
- Add `Kettle::Rb::CompatMatrix` as the shared Ruby, engine, Rails, RuboCop,
|
|
383
418
|
and RuboCop LTS compatibility source of truth for kettle-dev tooling.
|
|
384
419
|
|
|
385
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-rb/compare/v0.1.
|
|
420
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-rb/compare/v0.1.20...HEAD
|
|
421
|
+
[0.1.20]: https://github.com/kettle-dev/kettle-rb/compare/v0.1.19...v0.1.20
|
|
422
|
+
[0.1.20t]: https://github.com/kettle-dev/kettle-rb/releases/tag/v0.1.20
|
|
423
|
+
[0.1.19]: https://github.com/kettle-dev/kettle-rb/compare/v0.1.18...v0.1.19
|
|
424
|
+
[0.1.19t]: https://github.com/kettle-dev/kettle-rb/releases/tag/v0.1.19
|
|
386
425
|
[0.1.18]: https://github.com/kettle-dev/kettle-rb/compare/v0.1.17...v0.1.18
|
|
387
426
|
[0.1.18t]: https://github.com/kettle-dev/kettle-rb/releases/tag/v0.1.18
|
|
388
427
|
[0.1.17]: https://github.com/kettle-dev/kettle-rb/compare/v0.1.15...v0.1.17
|
data/README.md
CHANGED
|
@@ -73,6 +73,7 @@ Use it when tooling needs to answer questions like:
|
|
|
73
73
|
|
|
74
74
|
Compatible with MRI Ruby 1.8.7+, JRuby, and TruffleRuby.
|
|
75
75
|
CI workflows and Appraisals are generated for MRI Ruby 2.4.0+.
|
|
76
|
+
The current MRI CI lane runs on Linux and macOS.
|
|
76
77
|
This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
|
|
77
78
|
may be higher than the gem's runtime compatibility floor when legacy Rubies are
|
|
78
79
|
not practical for the current toolchain.
|
|
@@ -97,23 +98,6 @@ The _amazing_ test matrix is powered by the kettle-dev stack.
|
|
|
97
98
|
|
|
98
99
|
</details>
|
|
99
100
|
|
|
100
|
-
### Runtime and Platform Support
|
|
101
|
-
|
|
102
|
-
Support tiers describe what this project's CI actually exercises, not what may
|
|
103
|
-
work in an untested environment:
|
|
104
|
-
|
|
105
|
-
- **Parallel support**: CI runs the test suite with multiple workers available.
|
|
106
|
-
- **Unsupported**: the engine/platform combination is not covered by CI and is
|
|
107
|
-
not a project compatibility claim.
|
|
108
|
-
|
|
109
|
-
| Ruby engine/version | Linux | macOS | Windows | Notes |
|
|
110
|
-
|---------------------|-------|-------|---------|-------|
|
|
111
|
-
| MRI 3.1-3.4 | Parallel support | Unsupported | Unsupported | Versioned Ruby workflows run on Linux. |
|
|
112
|
-
| MRI current | Parallel support | Parallel support | Unsupported | Current Ruby workflow covers the declared OS platforms. |
|
|
113
|
-
| MRI head | Parallel support | Unsupported | Unsupported | CI is allowed to fail while Ruby is in development. |
|
|
114
|
-
| JRuby (all CI lanes) | Parallel support | Unsupported | Unsupported | Engine workflows run on Linux; macOS and Windows are not exercised by CI. |
|
|
115
|
-
| TruffleRuby (all CI lanes) | Parallel support | Unsupported | Unsupported | Never shipped a Windows build (zero Windows assets across 66 releases scanned 2026-10-10); setup-ruby hard-fails ([source](https://github.com/ruby/setup-ruby/blob/master/README.md)) |
|
|
116
|
-
|
|
117
101
|
### Federated DVCS
|
|
118
102
|
|
|
119
103
|
<details markdown="1">
|
|
@@ -129,29 +113,12 @@ work in an untested environment:
|
|
|
129
113
|
|
|
130
114
|
### Enterprise Support
|
|
131
115
|
|
|
132
|
-
[
|
|
133
|
-
|
|
134
|
-
Available as part of the Tidelift Subscription.
|
|
135
|
-
|
|
136
|
-
<details markdown="1">
|
|
137
|
-
<summary>Need enterprise-level guarantees?</summary>
|
|
138
|
-
|
|
139
|
-
The maintainers of this and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use.
|
|
116
|
+
For enterprise support from the maintainer, use [Upwork][👨🏼🏫expsup-upwork] or [CodeMentor][👨🏼🏫expsup-codementor].
|
|
140
117
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
- 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
|
|
144
|
-
- 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
|
|
145
|
-
- 💡Tidelift pays maintainers to maintain the software you depend on!<br/>📊`@`Pointy Haired Boss: An [enterprise support][🏙️entsup-tidelift] subscription is "[never gonna let you down][🧮kloc]", and *supports* open source maintainers
|
|
146
|
-
|
|
147
|
-
Alternatively:
|
|
118
|
+
Other support channels:
|
|
148
119
|
|
|
149
120
|
- [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
|
|
150
121
|
- [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
151
|
-
- [![Get help from me on Upwork][👨🏼🏫expsup-upwork-img]][👨🏼🏫expsup-upwork]
|
|
152
|
-
- [![Get help from me on Codementor][👨🏼🏫expsup-codementor-img]][👨🏼🏫expsup-codementor]
|
|
153
|
-
|
|
154
|
-
</details>
|
|
155
122
|
|
|
156
123
|
## ✨ Installation
|
|
157
124
|
|
|
@@ -277,19 +244,18 @@ We welcome both individual and corporate sponsors! We also offer a
|
|
|
277
244
|
wide array of funding channels to account for your preferences.
|
|
278
245
|
Currently, [Open Collective][🖇osc] is our preferred funding platform.
|
|
279
246
|
|
|
247
|
+
### Corporate Sponsorship
|
|
248
|
+
|
|
280
249
|
**If you're working in a company that's making significant use of kettle-dev tools we'd
|
|
281
250
|
appreciate it if you suggest to your company to become a kettle-dev sponsor.**
|
|
282
251
|
|
|
252
|
+
### Individual Support
|
|
253
|
+
|
|
283
254
|
You can support the development of kettle-dev tools via
|
|
284
255
|
[GitHub Sponsors][🖇sponsor],
|
|
285
256
|
[Liberapay][⛳liberapay],
|
|
286
|
-
[
|
|
287
|
-
[
|
|
288
|
-
and [Tidelift][🏙️entsup-tidelift].
|
|
289
|
-
|
|
290
|
-
| 📍 NOTE |
|
|
291
|
-
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
292
|
-
| If doing a sponsorship in the form of donation is problematic for your company <br/> from an accounting standpoint, we'd recommend the use of Tidelift, <br/> where you can get a support-like subscription instead. |
|
|
257
|
+
[Open Collective][🖇osc],
|
|
258
|
+
and [PayPal][🖇paypal].
|
|
293
259
|
|
|
294
260
|
### Open Collective for Individuals
|
|
295
261
|
|
|
@@ -504,9 +470,6 @@ Thanks for RTFM. ☺️
|
|
|
504
470
|
[👨🏼🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
|
|
505
471
|
[👨🏼🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
|
|
506
472
|
[👨🏼🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
|
|
507
|
-
[🏙️entsup-tidelift]: https://tidelift.com/subscription/pkg/rubygems-kettle-rb?utm_source=rubygems-kettle-rb&utm_medium=referral&utm_campaign=readme
|
|
508
|
-
[🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
|
|
509
|
-
[🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
|
|
510
473
|
[💁🏼♂️peterboling]: http://www.peterboling.com
|
|
511
474
|
[🚂railsbling]: http://www.railsbling.com
|
|
512
475
|
[📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
|
|
@@ -626,7 +589,7 @@ Thanks for RTFM. ☺️
|
|
|
626
589
|
[📌gitmoji]: https://gitmoji.dev
|
|
627
590
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
628
591
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
629
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.
|
|
592
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.421-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
630
593
|
[🔐security]: https://github.com/kettle-dev/kettle-rb/blob/main/SECURITY.md
|
|
631
594
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
632
595
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
@@ -656,5 +619,5 @@ Thanks for RTFM. ☺️
|
|
|
656
619
|
| Homepage | https://github.com/kettle-dev/kettle-rb |
|
|
657
620
|
| Source | https://github.com/kettle-dev/kettle-rb |
|
|
658
621
|
| License | `MIT` |
|
|
659
|
-
| Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/kettle-dev, https://thanks.dev/u/gh/pboling, https://
|
|
622
|
+
| Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/kettle-dev, https://thanks.dev/u/gh/pboling, https://www.buymeacoffee.com/pboling |
|
|
660
623
|
<!-- kettle-jem:metadata:end -->
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "rubygems"
|
|
4
|
+
require "set"
|
|
5
|
+
require "kettle/rb/compat_matrix"
|
|
6
|
+
|
|
7
|
+
module Kettle
|
|
8
|
+
module Rb
|
|
9
|
+
# Converts between Ruby minor-version seams and the folder buckets used by
|
|
10
|
+
# modular Gemfile matrices. A major-only bucket (rN) is the catch-all for
|
|
11
|
+
# the newest range in that major; rN.M buckets cover the earlier range
|
|
12
|
+
# ending at M.
|
|
13
|
+
module RubySeriesBuckets
|
|
14
|
+
module_function
|
|
15
|
+
|
|
16
|
+
# Builds buckets and their Ruby ranges from the seam versions that define
|
|
17
|
+
# the matrix. This is the shared implementation used by appraisal matrix
|
|
18
|
+
# generation and by template curation.
|
|
19
|
+
#
|
|
20
|
+
# @param minor_versions [Array<String, Gem::Version>]
|
|
21
|
+
# @return [Hash] bucket names and floor/ceiling ranges
|
|
22
|
+
def from_minor_versions(minor_versions)
|
|
23
|
+
by_major = Array(minor_versions).each_with_object({}) do |minor, grouped|
|
|
24
|
+
version = Gem::Version.new(minor.to_s)
|
|
25
|
+
major = version.segments[0]
|
|
26
|
+
grouped[major] ||= []
|
|
27
|
+
grouped[major] << version
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
buckets = []
|
|
31
|
+
ranges = {}
|
|
32
|
+
by_major.each do |major, versions|
|
|
33
|
+
sorted = versions.uniq.sort
|
|
34
|
+
sorted.each_with_index do |version, index|
|
|
35
|
+
if index == sorted.length - 1
|
|
36
|
+
bucket = "r#{major}"
|
|
37
|
+
buckets << bucket
|
|
38
|
+
ranges[bucket] = {:floor => version, :ceiling => Gem::Version.new("#{major}.99")}
|
|
39
|
+
next
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
next_version = sorted[index + 1]
|
|
43
|
+
upper = [next_version.segments[1].to_i - 1, version.segments[1].to_i].max
|
|
44
|
+
bucket = "r#{major}.#{upper}"
|
|
45
|
+
buckets << bucket
|
|
46
|
+
ranges[bucket] = {
|
|
47
|
+
:floor => version,
|
|
48
|
+
:ceiling => Gem::Version.new("#{major}.#{upper}")
|
|
49
|
+
}
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
{:buckets => buckets.uniq, :bucket_ranges => ranges}
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Reconstructs the canonical ranges from the complete set of bucket
|
|
57
|
+
# folder names. Named buckets are upper bounds; the major-only bucket
|
|
58
|
+
# catches the remaining versions in that major.
|
|
59
|
+
#
|
|
60
|
+
# @param buckets [Array<String>] folder names such as r2.4, r2.6, r2
|
|
61
|
+
# @return [Hash{String => Hash}] ranges keyed by bucket name
|
|
62
|
+
def ranges_for_buckets(buckets)
|
|
63
|
+
parsed = Array(buckets).map { |bucket|
|
|
64
|
+
match = bucket.to_s.match(/\Ar(\d+)(?:\.(\d+))?\z/)
|
|
65
|
+
[match[1].to_i, match[2] && match[2].to_i, bucket.to_s] if match
|
|
66
|
+
}.compact
|
|
67
|
+
parsed.group_by(&:first).each_with_object({}) do |(major, entries), result|
|
|
68
|
+
named = entries.select { |_major, minor, _bucket| minor }.sort_by { |_major, minor, _bucket| minor }
|
|
69
|
+
seams = [minimum_ruby_for_major(major)]
|
|
70
|
+
named.each do |_entry_major, minor, _bucket|
|
|
71
|
+
seams << Gem::Version.new("#{major}.#{minor + 1}")
|
|
72
|
+
end
|
|
73
|
+
seams.uniq!
|
|
74
|
+
generated = from_minor_versions(seams)
|
|
75
|
+
requested = entries.map(&:last).to_set
|
|
76
|
+
generated.fetch(:bucket_ranges).each do |bucket, range|
|
|
77
|
+
result[bucket] = range if requested.include?(bucket)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Keeps every bucket whose Ruby range intersects the destination's
|
|
83
|
+
# supported Ruby versions (all versions at or above +:minimum+).
|
|
84
|
+
# Takes an options hash rather than a required keyword so the file parses
|
|
85
|
+
# on every Ruby the gem supports.
|
|
86
|
+
def relevant_buckets(buckets, options = {})
|
|
87
|
+
floor = Gem::Version.new(options.fetch(:minimum).to_s)
|
|
88
|
+
ranges = ranges_for_buckets(buckets)
|
|
89
|
+
ranges.map { |bucket, range| bucket if range.fetch(:ceiling) >= floor }
|
|
90
|
+
.compact
|
|
91
|
+
.sort_by { |bucket| bucket_sort_key(bucket) }
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def minimum_ruby_for_major(major)
|
|
95
|
+
versions = CompatMatrix.entries.map { |key, _entry|
|
|
96
|
+
match = key.match(/\Aruby-(\d+)\.(\d+)\z/)
|
|
97
|
+
Gem::Version.new("#{match[1]}.#{match[2]}") if match && match[1].to_i == major
|
|
98
|
+
}.compact
|
|
99
|
+
versions.min || Gem::Version.new("#{major}.0")
|
|
100
|
+
end
|
|
101
|
+
private_class_method :minimum_ruby_for_major
|
|
102
|
+
|
|
103
|
+
def bucket_sort_key(bucket)
|
|
104
|
+
match = bucket.match(/\Ar(\d+)(?:\.(\d+))?\z/)
|
|
105
|
+
[match[1].to_i, match[2] ? match[2].to_i : 999]
|
|
106
|
+
end
|
|
107
|
+
private_class_method :bucket_sort_key
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
end
|
data/lib/kettle/rb/version.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Kettle
|
|
|
5
5
|
# Version namespace for this gem.
|
|
6
6
|
module Version
|
|
7
7
|
# Current gem version.
|
|
8
|
-
VERSION = "0.1.
|
|
8
|
+
VERSION = "0.1.20"
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
data/lib/kettle/rb.rb
CHANGED
data/sig/kettle/rb.rbs
CHANGED
|
@@ -5,5 +5,11 @@ module Kettle
|
|
|
5
5
|
VERSION: String
|
|
6
6
|
end
|
|
7
7
|
VERSION: String
|
|
8
|
+
|
|
9
|
+
module RubySeriesBuckets
|
|
10
|
+
def self.from_minor_versions: (Array[String | Gem::Version]) -> { buckets: Array[String], bucket_ranges: Hash[String, { floor: Gem::Version, ceiling: Gem::Version }] }
|
|
11
|
+
def self.ranges_for_buckets: (Array[String]) -> Hash[String, { floor: Gem::Version, ceiling: Gem::Version }]
|
|
12
|
+
def self.relevant_buckets: (Array[String], minimum: String | Gem::Version) -> Array[String]
|
|
13
|
+
end
|
|
8
14
|
end
|
|
9
15
|
end
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kettle-rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.20
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -46,7 +46,7 @@ dependencies:
|
|
|
46
46
|
version: '3.1'
|
|
47
47
|
- - ">="
|
|
48
48
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: 3.1.
|
|
49
|
+
version: 3.1.24
|
|
50
50
|
type: :development
|
|
51
51
|
prerelease: false
|
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -56,7 +56,7 @@ dependencies:
|
|
|
56
56
|
version: '3.1'
|
|
57
57
|
- - ">="
|
|
58
58
|
- !ruby/object:Gem::Version
|
|
59
|
-
version: 3.1.
|
|
59
|
+
version: 3.1.24
|
|
60
60
|
- !ruby/object:Gem::Dependency
|
|
61
61
|
name: bundler-audit
|
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -114,7 +114,7 @@ dependencies:
|
|
|
114
114
|
version: '0.1'
|
|
115
115
|
- - ">="
|
|
116
116
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: 0.1.
|
|
117
|
+
version: 0.1.4
|
|
118
118
|
type: :development
|
|
119
119
|
prerelease: false
|
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -124,7 +124,7 @@ dependencies:
|
|
|
124
124
|
version: '0.1'
|
|
125
125
|
- - ">="
|
|
126
126
|
- !ruby/object:Gem::Version
|
|
127
|
-
version: 0.1.
|
|
127
|
+
version: 0.1.4
|
|
128
128
|
- !ruby/object:Gem::Dependency
|
|
129
129
|
name: appraisal2
|
|
130
130
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -134,7 +134,7 @@ dependencies:
|
|
|
134
134
|
version: '3.2'
|
|
135
135
|
- - ">="
|
|
136
136
|
- !ruby/object:Gem::Version
|
|
137
|
-
version: 3.2.
|
|
137
|
+
version: 3.2.6
|
|
138
138
|
type: :development
|
|
139
139
|
prerelease: false
|
|
140
140
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -144,7 +144,7 @@ dependencies:
|
|
|
144
144
|
version: '3.2'
|
|
145
145
|
- - ">="
|
|
146
146
|
- !ruby/object:Gem::Version
|
|
147
|
-
version: 3.2.
|
|
147
|
+
version: 3.2.6
|
|
148
148
|
- !ruby/object:Gem::Dependency
|
|
149
149
|
name: kettle-test
|
|
150
150
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -154,7 +154,7 @@ dependencies:
|
|
|
154
154
|
version: '2.0'
|
|
155
155
|
- - ">="
|
|
156
156
|
- !ruby/object:Gem::Version
|
|
157
|
-
version: 2.0.
|
|
157
|
+
version: 2.0.27
|
|
158
158
|
type: :development
|
|
159
159
|
prerelease: false
|
|
160
160
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -164,7 +164,7 @@ dependencies:
|
|
|
164
164
|
version: '2.0'
|
|
165
165
|
- - ">="
|
|
166
166
|
- !ruby/object:Gem::Version
|
|
167
|
-
version: 2.0.
|
|
167
|
+
version: 2.0.27
|
|
168
168
|
- !ruby/object:Gem::Dependency
|
|
169
169
|
name: turbo_tests2
|
|
170
170
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -259,6 +259,7 @@ files:
|
|
|
259
259
|
- lib/kettle/rb/platform_support.rb
|
|
260
260
|
- lib/kettle/rb/platform_support/data.rb
|
|
261
261
|
- lib/kettle/rb/platform_support/generator.rb
|
|
262
|
+
- lib/kettle/rb/ruby_series_buckets.rb
|
|
262
263
|
- lib/kettle/rb/version.rb
|
|
263
264
|
- sig/kettle/rb.rbs
|
|
264
265
|
homepage: https://github.com/kettle-dev/kettle-rb
|
|
@@ -266,10 +267,10 @@ licenses:
|
|
|
266
267
|
- MIT
|
|
267
268
|
metadata:
|
|
268
269
|
homepage_uri: https://kettle-rb.galtzo.com
|
|
269
|
-
source_code_uri: https://github.com/kettle-dev/kettle-rb/tree/v0.1.
|
|
270
|
-
changelog_uri: https://github.com/kettle-dev/kettle-rb/blob/v0.1.
|
|
270
|
+
source_code_uri: https://github.com/kettle-dev/kettle-rb/tree/v0.1.20
|
|
271
|
+
changelog_uri: https://github.com/kettle-dev/kettle-rb/blob/v0.1.20/CHANGELOG.md
|
|
271
272
|
bug_tracker_uri: https://github.com/kettle-dev/kettle-rb/issues
|
|
272
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-rb/0.1.
|
|
273
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-rb/0.1.20
|
|
273
274
|
funding_uri: https://github.com/sponsors/pboling
|
|
274
275
|
wiki_uri: https://github.com/kettle-dev/kettle-rb/wiki
|
|
275
276
|
news_uri: https://www.railsbling.com/tags/kettle-rb
|
metadata.gz.sig
CHANGED
|
Binary file
|