appraisal-matrix 0.2.0 → 0.3.0.pre.tstarck.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5bc730eb59878944e9b078ee6486cfc104df8f820660a3b2f5f11b02c2d5b735
4
- data.tar.gz: 7e13b5cb6866609568f7b30e62bbea9ed0120fcc107f1d73efebc1231316c22e
3
+ metadata.gz: 455050798ee698fa03781e94f45ea46774dfaacb293c0634346d25a0ffce067c
4
+ data.tar.gz: 818a60d1519378825f5bd40a564328d7c3440e5ce8cdbc26af9b9d6dda058b29
5
5
  SHA512:
6
- metadata.gz: d7e535ac299153fa96e41ba82924cd6160cfb9711554ef1a6741a1bad21f2b1872a81caefcf57af64fd966bc9576123fcdc7efb60793bb8378174bdbfa0740ce
7
- data.tar.gz: cde84bde53c7dcae15b1311c63847536c34793b501ee3bfc62e536d6563dc30a9c4db7986344560184c85fc53af612cf8652801560eeee98fe8cfaef8fe1d15c
6
+ metadata.gz: 36660df655d219bbfb64b5f67c0bbd31718132d10adab5dccf28e1001e59340e41f18cc2a83493bb3be555d6f64a98ce5d36f4ccb1ce10cc744450a77bc38068
7
+ data.tar.gz: d4587264eec3f603cecc0b6fb1585dbe4769aefbfcb128a7b7e7c19b898c2b6acc95c097e8101f2d86c08004fdacb32ea12cc9dc54c4a7e27d16621f6a6b3da1
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.1.6
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 - Unreleased
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:, sidekiq:|
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
- instance_eval(&block) if block
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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Appraisal
4
4
  module Matrix
5
- VERSION = "0.2.0"
5
+ VERSION = "0.3.0.pre.tstarck.1"
6
6
  end
7
7
  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.2.0
4
+ version: 0.3.0.pre.tstarck.1
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-09 00:00:00.000000000 Z
11
+ date: 2024-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appraisal
@@ -66,11 +66,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
66
66
  version: '3.0'
67
67
  required_rubygems_version: !ruby/object:Gem::Requirement
68
68
  requirements:
69
- - - ">="
69
+ - - ">"
70
70
  - !ruby/object:Gem::Version
71
- version: '0'
71
+ version: 1.3.1
72
72
  requirements: []
73
- rubygems_version: 3.3.27
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.