appraisal-matrix 0.2.0 → 0.3.0
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
- data/.ruby-version +1 -1
- data/CHANGELOG.md +4 -0
- data/README.md +12 -0
- data/lib/appraisal/matrix/extensions/appraisal_file.rb +11 -1
- data/lib/appraisal/matrix/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b58a1b5ec3aea2557d2d9eaad20a88e0d57bf7531fc9dd26f78419db4ad11d5
|
4
|
+
data.tar.gz: d4e76f2d2cc0777f0622a5389017b6c62a09df1f5321b2e38f3bb75e778a74c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1023e48055bbbd5a4f1d8fc891685c948547385487e7e1a2058bb8cfcb910a9c3dc064fef2104af0edea70b6ad13c4020f7a32e076ba0326dca68eabaa32b91b
|
7
|
+
data.tar.gz: 8f324f7de5618b1b7509bdf9f9aeced7f3c0294460be19418a734d5204d3284e58e163ddf1b97b1c0b19be9ad0bfa0be4f95093d01cf52cee9aab59a8aa6976c
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.0.6
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file.
|
|
3
3
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
4
4
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
5
5
|
|
6
|
+
## 0.3.0 - 2024-07-16
|
7
|
+
### Changed
|
8
|
+
- Changed the block passed to `appraisal_matrix` to be called with the versions of gems for the current matrix entry.
|
9
|
+
|
6
10
|
## 0.2.0 - 2024-07-09
|
7
11
|
### Added
|
8
12
|
- Support special request options for `appraisal_matrix`:
|
data/README.md
CHANGED
@@ -53,6 +53,18 @@ appraisal_matrix(activesupport: "6.1") do
|
|
53
53
|
end
|
54
54
|
```
|
55
55
|
|
56
|
+
#### Block arguments
|
57
|
+
If you would like to setup conditional logic based off of the versions of the gems in the matrix, you can pass a block with arguments to `appraisal_matrix`.
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
appraisal_matrix(activesupport: "6.1") do |activesupport:|
|
61
|
+
# activesupport <Gem::Version>
|
62
|
+
if activesupport < "7"
|
63
|
+
remove_gem 'test_after_commit'
|
64
|
+
end
|
65
|
+
end
|
66
|
+
```
|
67
|
+
|
56
68
|
### Appraising more than one Gem
|
57
69
|
|
58
70
|
You can also pass more than one gem to `appraisal_matrix` to create a matrix of all combinations of the specified gems.
|
@@ -33,6 +33,13 @@ module Appraisal::Matrix
|
|
33
33
|
# appraisal_matrix(rails: "6.0") do
|
34
34
|
# gem "sqlite3", "~> 2.5"
|
35
35
|
# end
|
36
|
+
# appraisal_matrix(rails: "6.0", sidekiq: "5.0") do |rails:, sidekiq:|
|
37
|
+
# if rails < "7"
|
38
|
+
# # do something...
|
39
|
+
# else
|
40
|
+
# # do something else...
|
41
|
+
# end
|
42
|
+
# end
|
36
43
|
def appraisal_matrix(**kwargs, &block)
|
37
44
|
# names_and_versions_to_test
|
38
45
|
# [
|
@@ -76,7 +83,10 @@ module Appraisal::Matrix
|
|
76
83
|
appraisal_spec.each do |gem_name, version|
|
77
84
|
gem gem_name, "~> #{version}.0"
|
78
85
|
end
|
79
|
-
|
86
|
+
if block
|
87
|
+
block_args = appraisal_spec.to_h { |gem_name, version| [gem_name.to_sym, Gem::Version.new(version)] }
|
88
|
+
instance_exec(**block_args, &block)
|
89
|
+
end
|
80
90
|
end
|
81
91
|
end
|
82
92
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appraisal-matrix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Drew Caddell
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: appraisal
|
@@ -70,7 +70,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
version: '0'
|
72
72
|
requirements: []
|
73
|
-
rubygems_version: 3.
|
73
|
+
rubygems_version: 3.2.33
|
74
74
|
signing_key:
|
75
75
|
specification_version: 4
|
76
76
|
summary: Appraisal file DSL for generating a matrix of gemfiles.
|