subroutine 4.2.0 → 4.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc5cab16c1cf40e71f51c8572e1a9ecfe7ec0ff7bdabf8ebcae795bd4c30a4f3
4
- data.tar.gz: bee1cf68aba104515cfd2917837d2574a12a61949f2602346da1e7a4d0b029a2
3
+ metadata.gz: 395466c8997f2ba267ca8aeb4d2ab31cc4da5c84d1d5cc46c603191d32f52c35
4
+ data.tar.gz: dce7398c28cb192b05dc51823143cccc9200382d998e0afad835c2a3db8dffae
5
5
  SHA512:
6
- metadata.gz: fcb6f7393b6dfa6525cd344511321f4c3915696311230966ffdbb005128328b0e6d05ebf94b9088911c5d4abf17dd1988bd0d3deb013eaa81d517f1dfdd1c83b
7
- data.tar.gz: 8ee46d11ded0b78432da1e86f7ebd05e30d9a54d55e53b3a336f074a294fc831444bef04381c0659a514c68f19bf6fef13dbd4ff46f321096d179360c10dcf95
6
+ metadata.gz: c61146f544f205efef0e653485a21d93a49843415bbf37ca3afc4c466e87e4a639cc142ca75b5c2f00d646b1453d59d881becbd852be984b96bf14a55b3b4fa5
7
+ data.tar.gz: 5ebf1feeb586fefc32707e7dd2c17b54f03eee51573be7d03aa048796cdd6acaec0b541756e84c2d00a62ba198ec07f2fda5d2c004c2e87a6674fd923c59c047
@@ -10,7 +10,7 @@ jobs:
10
10
  strategy:
11
11
  fail-fast: false
12
12
  matrix:
13
- ruby-version: [3.0, 3.1, 3.2, 3.3]
13
+ ruby-version: [3.2, 3.3, 3.4]
14
14
  steps:
15
15
  - uses: actions/checkout@v4
16
16
  with:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.2.6
1
+ 3.3.7
data/Appraisals CHANGED
@@ -1,11 +1,13 @@
1
1
  appraise "rails-6.1" do
2
2
  gem 'activemodel', '~> 6.1.0'
3
3
  gem 'actionpack', '~> 6.1.0'
4
+ gem 'concurrent-ruby', '1.3.4'
4
5
  end
5
6
 
6
7
  appraise "rails-7.0" do
7
8
  gem 'activemodel', '~> 7.0.0'
8
9
  gem 'actionpack', '~> 7.0.0'
10
+ gem 'concurrent-ruby', '1.3.4'
9
11
  end
10
12
 
11
13
  appraise "rails-7.1" do
@@ -17,3 +19,8 @@ appraise "rails-7.2" do
17
19
  gem 'activemodel', '~> 7.2.0'
18
20
  gem 'actionpack', '~> 7.2.0'
19
21
  end
22
+
23
+ appraise "rails-8.0" do
24
+ gem 'activemodel', '~> 8.0.0'
25
+ gem 'actionpack', '~> 8.0.0'
26
+ end
data/CHANGELOG.MD CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## Subroutine 4.3.0
4
+
5
+ Default repository to Ruby 3.3.7, and gem to a minimum version of 3.2.0.
6
+ Tests continue to run against both Ruby 3.2 and Ruby 3.3.
7
+
3
8
  ## Subroutine 4.2.0
4
9
 
5
10
  If you are using polymorphic association fields, you can now customize how Subroutine
data/README.md CHANGED
@@ -22,6 +22,7 @@ class SignupOp < ::Subroutine::Op
22
22
 
23
23
  outputs :user
24
24
  outputs :business, type: Business # validate that output type is an instance of Business
25
+ outputs :heavy_operation, lazy: true # delay the execution of the output until accessed
25
26
 
26
27
  protected
27
28
 
@@ -33,6 +34,7 @@ class SignupOp < ::Subroutine::Op
33
34
 
34
35
  output :user, u
35
36
  output :business, b
37
+ output :heavy_operation, -> { some_heavy_operation }
36
38
  end
37
39
 
38
40
  def create_user!
@@ -41,7 +43,11 @@ class SignupOp < ::Subroutine::Op
41
43
 
42
44
  def create_business!(owner)
43
45
  Business.create!(company_name: company_name, owner: owner)
44
- end
46
+ end
47
+
48
+ def some_heavy_operation
49
+ # ...
50
+ end
45
51
 
46
52
  def deliver_welcome_email(u)
47
53
  UserMailer.welcome(u.id).deliver_later
@@ -5,5 +5,6 @@ source "https://rubygems.org"
5
5
  gem "appraisal"
6
6
  gem "activemodel", "~> 6.1.0"
7
7
  gem "actionpack", "~> 6.1.0"
8
+ gem "concurrent-ruby", "1.3.4"
8
9
 
9
10
  gemspec path: "../"
@@ -1,9 +1,13 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- subroutine (4.2.0)
4
+ subroutine (4.4.0)
5
5
  activemodel (>= 6.1)
6
6
  activesupport (>= 6.1)
7
+ base64
8
+ bigdecimal
9
+ logger
10
+ mutex_m
7
11
 
8
12
  GEM
9
13
  remote: https://rubygems.org/
@@ -34,14 +38,17 @@ GEM
34
38
  bundler
35
39
  rake
36
40
  thor (>= 0.14.0)
41
+ base64 (0.2.0)
42
+ bigdecimal (3.1.9)
37
43
  builder (3.3.0)
38
- byebug (11.1.3)
44
+ byebug (12.0.0)
39
45
  concurrent-ruby (1.3.4)
40
46
  crass (1.0.6)
41
- erubi (1.13.0)
42
- i18n (1.14.6)
47
+ erubi (1.13.1)
48
+ i18n (1.14.7)
43
49
  concurrent-ruby (~> 1.0)
44
- loofah (2.23.1)
50
+ logger (1.7.0)
51
+ loofah (2.24.0)
45
52
  crass (~> 1.0.2)
46
53
  nokogiri (>= 1.12.0)
47
54
  m (1.6.2)
@@ -49,7 +56,7 @@ GEM
49
56
  rake (>= 0.9.2.2)
50
57
  method_source (1.1.0)
51
58
  mini_portile2 (2.8.8)
52
- minitest (5.25.4)
59
+ minitest (5.25.5)
53
60
  minitest-reporters (1.7.1)
54
61
  ansi
55
62
  builder
@@ -57,12 +64,29 @@ GEM
57
64
  ruby-progressbar
58
65
  mocha (2.7.1)
59
66
  ruby2_keywords (>= 0.0.5)
60
- nokogiri (1.17.2)
67
+ mutex_m (0.3.0)
68
+ nokogiri (1.18.7)
61
69
  mini_portile2 (~> 2.8.2)
62
70
  racc (~> 1.4)
71
+ nokogiri (1.18.7-aarch64-linux-gnu)
72
+ racc (~> 1.4)
73
+ nokogiri (1.18.7-aarch64-linux-musl)
74
+ racc (~> 1.4)
75
+ nokogiri (1.18.7-arm-linux-gnu)
76
+ racc (~> 1.4)
77
+ nokogiri (1.18.7-arm-linux-musl)
78
+ racc (~> 1.4)
79
+ nokogiri (1.18.7-arm64-darwin)
80
+ racc (~> 1.4)
81
+ nokogiri (1.18.7-x86_64-darwin)
82
+ racc (~> 1.4)
83
+ nokogiri (1.18.7-x86_64-linux-gnu)
84
+ racc (~> 1.4)
85
+ nokogiri (1.18.7-x86_64-linux-musl)
86
+ racc (~> 1.4)
63
87
  racc (1.8.1)
64
- rack (2.2.10)
65
- rack-test (2.1.0)
88
+ rack (2.2.13)
89
+ rack-test (2.2.0)
66
90
  rack (>= 1.3)
67
91
  rails-dom-testing (2.2.0)
68
92
  activesupport (>= 5.0.0)
@@ -77,16 +101,25 @@ GEM
77
101
  thor (1.3.2)
78
102
  tzinfo (2.0.6)
79
103
  concurrent-ruby (~> 1.0)
80
- zeitwerk (2.7.1)
104
+ zeitwerk (2.7.2)
81
105
 
82
106
  PLATFORMS
107
+ aarch64-linux-gnu
108
+ aarch64-linux-musl
109
+ arm-linux-gnu
110
+ arm-linux-musl
111
+ arm64-darwin
83
112
  ruby
113
+ x86_64-darwin
114
+ x86_64-linux-gnu
115
+ x86_64-linux-musl
84
116
 
85
117
  DEPENDENCIES
86
118
  actionpack (~> 6.1.0)
87
119
  activemodel (~> 6.1.0)
88
120
  appraisal
89
121
  byebug
122
+ concurrent-ruby (= 1.3.4)
90
123
  m
91
124
  minitest
92
125
  minitest-reporters
@@ -94,5 +127,51 @@ DEPENDENCIES
94
127
  rake
95
128
  subroutine!
96
129
 
130
+ CHECKSUMS
131
+ actionpack (6.1.7.10) sha256=7dd526e14b21db61c8b46d45261cf859cb86d430dd4ea4feff1c873099f5d56e
132
+ actionview (6.1.7.10) sha256=23b7a38c696eecea244d2fe1c74317e703ab24f32bf3b0ba271d3862ab07bcc2
133
+ activemodel (6.1.7.10) sha256=562d9b1d0597f450437ec7cd6540b13f3e074cce5c7b237ac76e7435a15d4b8c
134
+ activesupport (6.1.7.10) sha256=3f8e1f787a7bfbf765959ba509ef70af8293b35cb864078919365a12bf33d470
135
+ ansi (1.5.0) sha256=5408253274e33d9d27d4a98c46d2998266fd51cba58a7eb9d08f50e57ed23592
136
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
137
+ base64 (0.2.0) sha256=0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507
138
+ bigdecimal (3.1.9) sha256=2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
139
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
140
+ byebug (12.0.0) sha256=d4a150d291cca40b66ec9ca31f754e93fed8aa266a17335f71bb0afa7fca1a1e
141
+ concurrent-ruby (1.3.4) sha256=d4aa926339b0a86b5b5054a0a8c580163e6f5dcbdfd0f4bb916b1a2570731c32
142
+ crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
143
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
144
+ i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f
145
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
146
+ loofah (2.24.0) sha256=61e6a710883abb8210887f3dc868cf3ed66594c509d9ff6987621efa6651ee1e
147
+ m (1.6.2) sha256=2fb85aff050b6b699e6dbca47b45d426e2136ccdfabb64437e9630230d29108e
148
+ method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
149
+ mini_portile2 (2.8.8) sha256=8e47136cdac04ce81750bb6c09733b37895bf06962554e4b4056d78168d70a75
150
+ minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756
151
+ minitest-reporters (1.7.1) sha256=5060413a0c95b8c32fe73e0606f3631c173a884d7900e50013e15094eb50562c
152
+ mocha (2.7.1) sha256=8f7d538d5d3ebc75fc788b3d92fbab913a93a78462d2a3ce99d1bdde7af7f851
153
+ mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
154
+ nokogiri (1.18.7) sha256=6b63ff5defe48f30d1d3b3122f65255ca91df2caf5378c6e0482ce73ff46fb31
155
+ nokogiri (1.18.7-aarch64-linux-gnu) sha256=57a064ab5440814a69a0e040817bd8154adea68a30d2ff2b3aa515a6a06dbb5f
156
+ nokogiri (1.18.7-aarch64-linux-musl) sha256=3e442dc5b69376e84288295fe37cbb890a21ad816a7e571e5e9967b3c1e30cd3
157
+ nokogiri (1.18.7-arm-linux-gnu) sha256=337d9149deb5ae01022dff7c90f97bed81715fd586aacab0c5809ef933994c5e
158
+ nokogiri (1.18.7-arm-linux-musl) sha256=97a26edcc975f780a0822aaf7f7d7427c561067c1c9ee56bd3542960f0c28a6e
159
+ nokogiri (1.18.7-arm64-darwin) sha256=083abb2e9ed2646860f6b481a981485a658c6064caafaa81bf1cda1bada2e9d5
160
+ nokogiri (1.18.7-x86_64-darwin) sha256=081d1aa517454ba3415304e2ea51fe411d6a3a809490d0c4aa42799cada417b7
161
+ nokogiri (1.18.7-x86_64-linux-gnu) sha256=3a0bf946eb2defde13d760f869b61bc8b0c18875afdd3cffa96543cfa3a18005
162
+ nokogiri (1.18.7-x86_64-linux-musl) sha256=9d83f8ec1fc37a305fa835d7ee61a4f37899e6ccc6dcb05be6645fa9797605af
163
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
164
+ rack (2.2.13) sha256=ccee101719696a5da12ee9da6fb3b1d20cb329939e089e0e458be6e93667f0fb
165
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
166
+ rails-dom-testing (2.2.0) sha256=e515712e48df1f687a1d7c380fd7b07b8558faa26464474da64183a7426fa93b
167
+ rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560
168
+ rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d
169
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
170
+ ruby2_keywords (0.0.5) sha256=ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef
171
+ subroutine (4.4.0)
172
+ thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda
173
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
174
+ zeitwerk (2.7.2) sha256=842e067cb11eb923d747249badfb5fcdc9652d6f20a1f06453317920fdcd4673
175
+
97
176
  BUNDLED WITH
98
- 2.5.22
177
+ 2.6.7
@@ -5,5 +5,6 @@ source "https://rubygems.org"
5
5
  gem "appraisal"
6
6
  gem "activemodel", "~> 7.0.0"
7
7
  gem "actionpack", "~> 7.0.0"
8
+ gem "concurrent-ruby", "1.3.4"
8
9
 
9
10
  gemspec path: "../"
@@ -1,9 +1,13 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- subroutine (4.2.0)
4
+ subroutine (4.4.0)
5
5
  activemodel (>= 6.1)
6
6
  activesupport (>= 6.1)
7
+ base64
8
+ bigdecimal
9
+ logger
10
+ mutex_m
7
11
 
8
12
  GEM
9
13
  remote: https://rubygems.org/
@@ -33,14 +37,17 @@ GEM
33
37
  bundler
34
38
  rake
35
39
  thor (>= 0.14.0)
40
+ base64 (0.2.0)
41
+ bigdecimal (3.1.9)
36
42
  builder (3.3.0)
37
- byebug (11.1.3)
43
+ byebug (12.0.0)
38
44
  concurrent-ruby (1.3.4)
39
45
  crass (1.0.6)
40
- erubi (1.13.0)
41
- i18n (1.14.6)
46
+ erubi (1.13.1)
47
+ i18n (1.14.7)
42
48
  concurrent-ruby (~> 1.0)
43
- loofah (2.23.1)
49
+ logger (1.7.0)
50
+ loofah (2.24.0)
44
51
  crass (~> 1.0.2)
45
52
  nokogiri (>= 1.12.0)
46
53
  m (1.6.2)
@@ -48,7 +55,7 @@ GEM
48
55
  rake (>= 0.9.2.2)
49
56
  method_source (1.1.0)
50
57
  mini_portile2 (2.8.8)
51
- minitest (5.25.4)
58
+ minitest (5.25.5)
52
59
  minitest-reporters (1.7.1)
53
60
  ansi
54
61
  builder
@@ -56,12 +63,29 @@ GEM
56
63
  ruby-progressbar
57
64
  mocha (2.7.1)
58
65
  ruby2_keywords (>= 0.0.5)
59
- nokogiri (1.17.2)
66
+ mutex_m (0.3.0)
67
+ nokogiri (1.18.7)
60
68
  mini_portile2 (~> 2.8.2)
61
69
  racc (~> 1.4)
70
+ nokogiri (1.18.7-aarch64-linux-gnu)
71
+ racc (~> 1.4)
72
+ nokogiri (1.18.7-aarch64-linux-musl)
73
+ racc (~> 1.4)
74
+ nokogiri (1.18.7-arm-linux-gnu)
75
+ racc (~> 1.4)
76
+ nokogiri (1.18.7-arm-linux-musl)
77
+ racc (~> 1.4)
78
+ nokogiri (1.18.7-arm64-darwin)
79
+ racc (~> 1.4)
80
+ nokogiri (1.18.7-x86_64-darwin)
81
+ racc (~> 1.4)
82
+ nokogiri (1.18.7-x86_64-linux-gnu)
83
+ racc (~> 1.4)
84
+ nokogiri (1.18.7-x86_64-linux-musl)
85
+ racc (~> 1.4)
62
86
  racc (1.8.1)
63
- rack (2.2.10)
64
- rack-test (2.1.0)
87
+ rack (2.2.13)
88
+ rack-test (2.2.0)
65
89
  rack (>= 1.3)
66
90
  rails-dom-testing (2.2.0)
67
91
  activesupport (>= 5.0.0)
@@ -78,13 +102,22 @@ GEM
78
102
  concurrent-ruby (~> 1.0)
79
103
 
80
104
  PLATFORMS
105
+ aarch64-linux-gnu
106
+ aarch64-linux-musl
107
+ arm-linux-gnu
108
+ arm-linux-musl
109
+ arm64-darwin
81
110
  ruby
111
+ x86_64-darwin
112
+ x86_64-linux-gnu
113
+ x86_64-linux-musl
82
114
 
83
115
  DEPENDENCIES
84
116
  actionpack (~> 7.0.0)
85
117
  activemodel (~> 7.0.0)
86
118
  appraisal
87
119
  byebug
120
+ concurrent-ruby (= 1.3.4)
88
121
  m
89
122
  minitest
90
123
  minitest-reporters
@@ -92,5 +125,50 @@ DEPENDENCIES
92
125
  rake
93
126
  subroutine!
94
127
 
128
+ CHECKSUMS
129
+ actionpack (7.0.8.7) sha256=40e6b1d687904a4fd2285d1fa3aad3d9a9d9ba8fd8858dd0faa9f4673c3f5e2c
130
+ actionview (7.0.8.7) sha256=be975bc9c61903fe5da80a97c345271159033bcbba63988c7f27b6b8b98f7fed
131
+ activemodel (7.0.8.7) sha256=f13b04bb055c1e85b965ce40b0a2e671b8d97835083597bc7fbc04cde0f40a83
132
+ activesupport (7.0.8.7) sha256=df4702375de924aae81709c831605317c5417f0bd9e502a0373ff84a067204ff
133
+ ansi (1.5.0) sha256=5408253274e33d9d27d4a98c46d2998266fd51cba58a7eb9d08f50e57ed23592
134
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
135
+ base64 (0.2.0) sha256=0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507
136
+ bigdecimal (3.1.9) sha256=2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
137
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
138
+ byebug (12.0.0) sha256=d4a150d291cca40b66ec9ca31f754e93fed8aa266a17335f71bb0afa7fca1a1e
139
+ concurrent-ruby (1.3.4) sha256=d4aa926339b0a86b5b5054a0a8c580163e6f5dcbdfd0f4bb916b1a2570731c32
140
+ crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
141
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
142
+ i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f
143
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
144
+ loofah (2.24.0) sha256=61e6a710883abb8210887f3dc868cf3ed66594c509d9ff6987621efa6651ee1e
145
+ m (1.6.2) sha256=2fb85aff050b6b699e6dbca47b45d426e2136ccdfabb64437e9630230d29108e
146
+ method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
147
+ mini_portile2 (2.8.8) sha256=8e47136cdac04ce81750bb6c09733b37895bf06962554e4b4056d78168d70a75
148
+ minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756
149
+ minitest-reporters (1.7.1) sha256=5060413a0c95b8c32fe73e0606f3631c173a884d7900e50013e15094eb50562c
150
+ mocha (2.7.1) sha256=8f7d538d5d3ebc75fc788b3d92fbab913a93a78462d2a3ce99d1bdde7af7f851
151
+ mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
152
+ nokogiri (1.18.7) sha256=6b63ff5defe48f30d1d3b3122f65255ca91df2caf5378c6e0482ce73ff46fb31
153
+ nokogiri (1.18.7-aarch64-linux-gnu) sha256=57a064ab5440814a69a0e040817bd8154adea68a30d2ff2b3aa515a6a06dbb5f
154
+ nokogiri (1.18.7-aarch64-linux-musl) sha256=3e442dc5b69376e84288295fe37cbb890a21ad816a7e571e5e9967b3c1e30cd3
155
+ nokogiri (1.18.7-arm-linux-gnu) sha256=337d9149deb5ae01022dff7c90f97bed81715fd586aacab0c5809ef933994c5e
156
+ nokogiri (1.18.7-arm-linux-musl) sha256=97a26edcc975f780a0822aaf7f7d7427c561067c1c9ee56bd3542960f0c28a6e
157
+ nokogiri (1.18.7-arm64-darwin) sha256=083abb2e9ed2646860f6b481a981485a658c6064caafaa81bf1cda1bada2e9d5
158
+ nokogiri (1.18.7-x86_64-darwin) sha256=081d1aa517454ba3415304e2ea51fe411d6a3a809490d0c4aa42799cada417b7
159
+ nokogiri (1.18.7-x86_64-linux-gnu) sha256=3a0bf946eb2defde13d760f869b61bc8b0c18875afdd3cffa96543cfa3a18005
160
+ nokogiri (1.18.7-x86_64-linux-musl) sha256=9d83f8ec1fc37a305fa835d7ee61a4f37899e6ccc6dcb05be6645fa9797605af
161
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
162
+ rack (2.2.13) sha256=ccee101719696a5da12ee9da6fb3b1d20cb329939e089e0e458be6e93667f0fb
163
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
164
+ rails-dom-testing (2.2.0) sha256=e515712e48df1f687a1d7c380fd7b07b8558faa26464474da64183a7426fa93b
165
+ rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560
166
+ rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d
167
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
168
+ ruby2_keywords (0.0.5) sha256=ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef
169
+ subroutine (4.4.0)
170
+ thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda
171
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
172
+
95
173
  BUNDLED WITH
96
- 2.5.22
174
+ 2.6.7
@@ -1,9 +1,13 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- subroutine (4.2.0)
4
+ subroutine (4.4.0)
5
5
  activemodel (>= 6.1)
6
6
  activesupport (>= 6.1)
7
+ base64
8
+ bigdecimal
9
+ logger
10
+ mutex_m
7
11
 
8
12
  GEM
9
13
  remote: https://rubygems.org/
@@ -46,25 +50,25 @@ GEM
46
50
  thor (>= 0.14.0)
47
51
  base64 (0.2.0)
48
52
  benchmark (0.4.0)
49
- bigdecimal (3.1.8)
53
+ bigdecimal (3.1.9)
50
54
  builder (3.3.0)
51
- byebug (11.1.3)
52
- concurrent-ruby (1.3.4)
53
- connection_pool (2.4.1)
55
+ byebug (12.0.0)
56
+ concurrent-ruby (1.3.5)
57
+ connection_pool (2.5.0)
54
58
  crass (1.0.6)
55
59
  drb (2.2.1)
56
- erubi (1.13.0)
57
- i18n (1.14.6)
60
+ erubi (1.13.1)
61
+ i18n (1.14.7)
58
62
  concurrent-ruby (~> 1.0)
59
- logger (1.6.3)
60
- loofah (2.23.1)
63
+ logger (1.7.0)
64
+ loofah (2.24.0)
61
65
  crass (~> 1.0.2)
62
66
  nokogiri (>= 1.12.0)
63
67
  m (1.6.2)
64
68
  method_source (>= 0.6.7)
65
69
  rake (>= 0.9.2.2)
66
70
  method_source (1.1.0)
67
- minitest (5.25.4)
71
+ minitest (5.25.5)
68
72
  minitest-reporters (1.7.1)
69
73
  ansi
70
74
  builder
@@ -73,13 +77,28 @@ GEM
73
77
  mocha (2.7.1)
74
78
  ruby2_keywords (>= 0.0.5)
75
79
  mutex_m (0.3.0)
76
- nokogiri (1.17.2-arm64-darwin)
80
+ nokogiri (1.18.7-aarch64-linux-gnu)
81
+ racc (~> 1.4)
82
+ nokogiri (1.18.7-aarch64-linux-musl)
83
+ racc (~> 1.4)
84
+ nokogiri (1.18.7-arm-linux-gnu)
85
+ racc (~> 1.4)
86
+ nokogiri (1.18.7-arm-linux-musl)
87
+ racc (~> 1.4)
88
+ nokogiri (1.18.7-arm64-darwin)
89
+ racc (~> 1.4)
90
+ nokogiri (1.18.7-x86_64-darwin)
91
+ racc (~> 1.4)
92
+ nokogiri (1.18.7-x86_64-linux-gnu)
93
+ racc (~> 1.4)
94
+ nokogiri (1.18.7-x86_64-linux-musl)
77
95
  racc (~> 1.4)
78
96
  racc (1.8.1)
79
- rack (3.1.8)
80
- rack-session (2.0.0)
97
+ rack (3.1.12)
98
+ rack-session (2.1.0)
99
+ base64 (>= 0.1.0)
81
100
  rack (>= 3.0.0)
82
- rack-test (2.1.0)
101
+ rack-test (2.2.0)
83
102
  rack (>= 1.3)
84
103
  rails-dom-testing (2.2.0)
85
104
  activesupport (>= 5.0.0)
@@ -91,13 +110,20 @@ GEM
91
110
  rake (13.2.1)
92
111
  ruby-progressbar (1.13.0)
93
112
  ruby2_keywords (0.0.5)
94
- securerandom (0.4.0)
113
+ securerandom (0.4.1)
95
114
  thor (1.3.2)
96
115
  tzinfo (2.0.6)
97
116
  concurrent-ruby (~> 1.0)
98
117
 
99
118
  PLATFORMS
119
+ aarch64-linux-gnu
120
+ aarch64-linux-musl
121
+ arm-linux-gnu
122
+ arm-linux-musl
100
123
  arm64-darwin
124
+ x86_64-darwin
125
+ x86_64-linux-gnu
126
+ x86_64-linux-musl
101
127
 
102
128
  DEPENDENCIES
103
129
  actionpack (~> 7.1.0)
@@ -111,5 +137,53 @@ DEPENDENCIES
111
137
  rake
112
138
  subroutine!
113
139
 
140
+ CHECKSUMS
141
+ actionpack (7.1.5.1) sha256=2bc263d9f43f16cc3b3360f59659ab11f140577602f371f1a968e2672b38d718
142
+ actionview (7.1.5.1) sha256=8c559a213501798e29b50b5341a643a70bbf6fa0aa2abaf571d0efc59dc4f6aa
143
+ activemodel (7.1.5.1) sha256=74727466854a7fbdfe8f2702ca3112b23877500d4926bf7e02e921ad542191f1
144
+ activesupport (7.1.5.1) sha256=9f0c482e473b9868cb3dfe3e9db549a3bd2302c02e4f595a5caac144a8c7cfb8
145
+ ansi (1.5.0) sha256=5408253274e33d9d27d4a98c46d2998266fd51cba58a7eb9d08f50e57ed23592
146
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
147
+ base64 (0.2.0) sha256=0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507
148
+ benchmark (0.4.0) sha256=0f12f8c495545e3710c3e4f0480f63f06b4c842cc94cec7f33a956f5180e874a
149
+ bigdecimal (3.1.9) sha256=2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
150
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
151
+ byebug (12.0.0) sha256=d4a150d291cca40b66ec9ca31f754e93fed8aa266a17335f71bb0afa7fca1a1e
152
+ concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6
153
+ connection_pool (2.5.0) sha256=233b92f8d38e038c1349ccea65dd3772727d669d6d2e71f9897c8bf5cd53ebfc
154
+ crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
155
+ drb (2.2.1) sha256=e9d472bf785f558b96b25358bae115646da0dbfd45107ad858b0bc0d935cb340
156
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
157
+ i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f
158
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
159
+ loofah (2.24.0) sha256=61e6a710883abb8210887f3dc868cf3ed66594c509d9ff6987621efa6651ee1e
160
+ m (1.6.2) sha256=2fb85aff050b6b699e6dbca47b45d426e2136ccdfabb64437e9630230d29108e
161
+ method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
162
+ minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756
163
+ minitest-reporters (1.7.1) sha256=5060413a0c95b8c32fe73e0606f3631c173a884d7900e50013e15094eb50562c
164
+ mocha (2.7.1) sha256=8f7d538d5d3ebc75fc788b3d92fbab913a93a78462d2a3ce99d1bdde7af7f851
165
+ mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
166
+ nokogiri (1.18.7-aarch64-linux-gnu) sha256=57a064ab5440814a69a0e040817bd8154adea68a30d2ff2b3aa515a6a06dbb5f
167
+ nokogiri (1.18.7-aarch64-linux-musl) sha256=3e442dc5b69376e84288295fe37cbb890a21ad816a7e571e5e9967b3c1e30cd3
168
+ nokogiri (1.18.7-arm-linux-gnu) sha256=337d9149deb5ae01022dff7c90f97bed81715fd586aacab0c5809ef933994c5e
169
+ nokogiri (1.18.7-arm-linux-musl) sha256=97a26edcc975f780a0822aaf7f7d7427c561067c1c9ee56bd3542960f0c28a6e
170
+ nokogiri (1.18.7-arm64-darwin) sha256=083abb2e9ed2646860f6b481a981485a658c6064caafaa81bf1cda1bada2e9d5
171
+ nokogiri (1.18.7-x86_64-darwin) sha256=081d1aa517454ba3415304e2ea51fe411d6a3a809490d0c4aa42799cada417b7
172
+ nokogiri (1.18.7-x86_64-linux-gnu) sha256=3a0bf946eb2defde13d760f869b61bc8b0c18875afdd3cffa96543cfa3a18005
173
+ nokogiri (1.18.7-x86_64-linux-musl) sha256=9d83f8ec1fc37a305fa835d7ee61a4f37899e6ccc6dcb05be6645fa9797605af
174
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
175
+ rack (3.1.12) sha256=00d83055c89273eb13679ab562767b8826955aa6c4371d7d161deb975c50c540
176
+ rack-session (2.1.0) sha256=437c3916535b58ef71c816ce4a2dee0a01c8a52ae6077dc2b6cd19085760a290
177
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
178
+ rails-dom-testing (2.2.0) sha256=e515712e48df1f687a1d7c380fd7b07b8558faa26464474da64183a7426fa93b
179
+ rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560
180
+ rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d
181
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
182
+ ruby2_keywords (0.0.5) sha256=ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef
183
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
184
+ subroutine (4.4.0)
185
+ thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda
186
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
187
+
114
188
  BUNDLED WITH
115
- 2.5.22
189
+ 2.6.7
@@ -1,9 +1,13 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- subroutine (4.2.0)
4
+ subroutine (4.4.0)
5
5
  activemodel (>= 6.1)
6
6
  activesupport (>= 6.1)
7
+ base64
8
+ bigdecimal
9
+ logger
10
+ mutex_m
7
11
 
8
12
  GEM
9
13
  remote: https://rubygems.org/
@@ -46,25 +50,25 @@ GEM
46
50
  thor (>= 0.14.0)
47
51
  base64 (0.2.0)
48
52
  benchmark (0.4.0)
49
- bigdecimal (3.1.8)
53
+ bigdecimal (3.1.9)
50
54
  builder (3.3.0)
51
- byebug (11.1.3)
52
- concurrent-ruby (1.3.4)
53
- connection_pool (2.4.1)
55
+ byebug (12.0.0)
56
+ concurrent-ruby (1.3.5)
57
+ connection_pool (2.5.0)
54
58
  crass (1.0.6)
55
59
  drb (2.2.1)
56
- erubi (1.13.0)
57
- i18n (1.14.6)
60
+ erubi (1.13.1)
61
+ i18n (1.14.7)
58
62
  concurrent-ruby (~> 1.0)
59
- logger (1.6.3)
60
- loofah (2.23.1)
63
+ logger (1.7.0)
64
+ loofah (2.24.0)
61
65
  crass (~> 1.0.2)
62
66
  nokogiri (>= 1.12.0)
63
67
  m (1.6.2)
64
68
  method_source (>= 0.6.7)
65
69
  rake (>= 0.9.2.2)
66
70
  method_source (1.1.0)
67
- minitest (5.25.4)
71
+ minitest (5.25.5)
68
72
  minitest-reporters (1.7.1)
69
73
  ansi
70
74
  builder
@@ -72,13 +76,29 @@ GEM
72
76
  ruby-progressbar
73
77
  mocha (2.7.1)
74
78
  ruby2_keywords (>= 0.0.5)
75
- nokogiri (1.17.2-arm64-darwin)
79
+ mutex_m (0.3.0)
80
+ nokogiri (1.18.7-aarch64-linux-gnu)
81
+ racc (~> 1.4)
82
+ nokogiri (1.18.7-aarch64-linux-musl)
83
+ racc (~> 1.4)
84
+ nokogiri (1.18.7-arm-linux-gnu)
85
+ racc (~> 1.4)
86
+ nokogiri (1.18.7-arm-linux-musl)
87
+ racc (~> 1.4)
88
+ nokogiri (1.18.7-arm64-darwin)
89
+ racc (~> 1.4)
90
+ nokogiri (1.18.7-x86_64-darwin)
91
+ racc (~> 1.4)
92
+ nokogiri (1.18.7-x86_64-linux-gnu)
93
+ racc (~> 1.4)
94
+ nokogiri (1.18.7-x86_64-linux-musl)
76
95
  racc (~> 1.4)
77
96
  racc (1.8.1)
78
- rack (3.1.8)
79
- rack-session (2.0.0)
97
+ rack (3.1.12)
98
+ rack-session (2.1.0)
99
+ base64 (>= 0.1.0)
80
100
  rack (>= 3.0.0)
81
- rack-test (2.1.0)
101
+ rack-test (2.2.0)
82
102
  rack (>= 1.3)
83
103
  rails-dom-testing (2.2.0)
84
104
  activesupport (>= 5.0.0)
@@ -90,14 +110,21 @@ GEM
90
110
  rake (13.2.1)
91
111
  ruby-progressbar (1.13.0)
92
112
  ruby2_keywords (0.0.5)
93
- securerandom (0.4.0)
113
+ securerandom (0.4.1)
94
114
  thor (1.3.2)
95
115
  tzinfo (2.0.6)
96
116
  concurrent-ruby (~> 1.0)
97
117
  useragent (0.16.11)
98
118
 
99
119
  PLATFORMS
120
+ aarch64-linux-gnu
121
+ aarch64-linux-musl
122
+ arm-linux-gnu
123
+ arm-linux-musl
100
124
  arm64-darwin
125
+ x86_64-darwin
126
+ x86_64-linux-gnu
127
+ x86_64-linux-musl
101
128
 
102
129
  DEPENDENCIES
103
130
  actionpack (~> 7.2.0)
@@ -111,5 +138,54 @@ DEPENDENCIES
111
138
  rake
112
139
  subroutine!
113
140
 
141
+ CHECKSUMS
142
+ actionpack (7.2.2.1) sha256=17b2160a7bcbd5a569d06b1ae54a4bb5ccc7ba0815d73ff5768100a79dc1f734
143
+ actionview (7.2.2.1) sha256=69fc880cf3d8b1baf21b048cf7bb68f1eef08760ff8104d7d60a6a1be8b359a5
144
+ activemodel (7.2.2.1) sha256=8398861f9ee2c4671a8357ab39e9b38a045fd656f6685a3dd5890c2419dbfdaf
145
+ activesupport (7.2.2.1) sha256=842bcbf8a92977f80fb4750661a237cf5dd4fdd442066b3c35e88afb488647f5
146
+ ansi (1.5.0) sha256=5408253274e33d9d27d4a98c46d2998266fd51cba58a7eb9d08f50e57ed23592
147
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
148
+ base64 (0.2.0) sha256=0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507
149
+ benchmark (0.4.0) sha256=0f12f8c495545e3710c3e4f0480f63f06b4c842cc94cec7f33a956f5180e874a
150
+ bigdecimal (3.1.9) sha256=2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
151
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
152
+ byebug (12.0.0) sha256=d4a150d291cca40b66ec9ca31f754e93fed8aa266a17335f71bb0afa7fca1a1e
153
+ concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6
154
+ connection_pool (2.5.0) sha256=233b92f8d38e038c1349ccea65dd3772727d669d6d2e71f9897c8bf5cd53ebfc
155
+ crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
156
+ drb (2.2.1) sha256=e9d472bf785f558b96b25358bae115646da0dbfd45107ad858b0bc0d935cb340
157
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
158
+ i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f
159
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
160
+ loofah (2.24.0) sha256=61e6a710883abb8210887f3dc868cf3ed66594c509d9ff6987621efa6651ee1e
161
+ m (1.6.2) sha256=2fb85aff050b6b699e6dbca47b45d426e2136ccdfabb64437e9630230d29108e
162
+ method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
163
+ minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756
164
+ minitest-reporters (1.7.1) sha256=5060413a0c95b8c32fe73e0606f3631c173a884d7900e50013e15094eb50562c
165
+ mocha (2.7.1) sha256=8f7d538d5d3ebc75fc788b3d92fbab913a93a78462d2a3ce99d1bdde7af7f851
166
+ mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
167
+ nokogiri (1.18.7-aarch64-linux-gnu) sha256=57a064ab5440814a69a0e040817bd8154adea68a30d2ff2b3aa515a6a06dbb5f
168
+ nokogiri (1.18.7-aarch64-linux-musl) sha256=3e442dc5b69376e84288295fe37cbb890a21ad816a7e571e5e9967b3c1e30cd3
169
+ nokogiri (1.18.7-arm-linux-gnu) sha256=337d9149deb5ae01022dff7c90f97bed81715fd586aacab0c5809ef933994c5e
170
+ nokogiri (1.18.7-arm-linux-musl) sha256=97a26edcc975f780a0822aaf7f7d7427c561067c1c9ee56bd3542960f0c28a6e
171
+ nokogiri (1.18.7-arm64-darwin) sha256=083abb2e9ed2646860f6b481a981485a658c6064caafaa81bf1cda1bada2e9d5
172
+ nokogiri (1.18.7-x86_64-darwin) sha256=081d1aa517454ba3415304e2ea51fe411d6a3a809490d0c4aa42799cada417b7
173
+ nokogiri (1.18.7-x86_64-linux-gnu) sha256=3a0bf946eb2defde13d760f869b61bc8b0c18875afdd3cffa96543cfa3a18005
174
+ nokogiri (1.18.7-x86_64-linux-musl) sha256=9d83f8ec1fc37a305fa835d7ee61a4f37899e6ccc6dcb05be6645fa9797605af
175
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
176
+ rack (3.1.12) sha256=00d83055c89273eb13679ab562767b8826955aa6c4371d7d161deb975c50c540
177
+ rack-session (2.1.0) sha256=437c3916535b58ef71c816ce4a2dee0a01c8a52ae6077dc2b6cd19085760a290
178
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
179
+ rails-dom-testing (2.2.0) sha256=e515712e48df1f687a1d7c380fd7b07b8558faa26464474da64183a7426fa93b
180
+ rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560
181
+ rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d
182
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
183
+ ruby2_keywords (0.0.5) sha256=ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef
184
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
185
+ subroutine (4.4.0)
186
+ thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda
187
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
188
+ useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
189
+
114
190
  BUNDLED WITH
115
- 2.5.22
191
+ 2.6.7
@@ -0,0 +1,9 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "activemodel", "~> 8.0.0"
7
+ gem "actionpack", "~> 8.0.0"
8
+
9
+ gemspec path: "../"
@@ -0,0 +1,204 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ subroutine (4.4.0)
5
+ activemodel (>= 6.1)
6
+ activesupport (>= 6.1)
7
+ base64
8
+ bigdecimal
9
+ logger
10
+ mutex_m
11
+
12
+ GEM
13
+ remote: https://rubygems.org/
14
+ specs:
15
+ actionpack (8.0.2)
16
+ actionview (= 8.0.2)
17
+ activesupport (= 8.0.2)
18
+ nokogiri (>= 1.8.5)
19
+ rack (>= 2.2.4)
20
+ rack-session (>= 1.0.1)
21
+ rack-test (>= 0.6.3)
22
+ rails-dom-testing (~> 2.2)
23
+ rails-html-sanitizer (~> 1.6)
24
+ useragent (~> 0.16)
25
+ actionview (8.0.2)
26
+ activesupport (= 8.0.2)
27
+ builder (~> 3.1)
28
+ erubi (~> 1.11)
29
+ rails-dom-testing (~> 2.2)
30
+ rails-html-sanitizer (~> 1.6)
31
+ activemodel (8.0.2)
32
+ activesupport (= 8.0.2)
33
+ activesupport (8.0.2)
34
+ base64
35
+ benchmark (>= 0.3)
36
+ bigdecimal
37
+ concurrent-ruby (~> 1.0, >= 1.3.1)
38
+ connection_pool (>= 2.2.5)
39
+ drb
40
+ i18n (>= 1.6, < 2)
41
+ logger (>= 1.4.2)
42
+ minitest (>= 5.1)
43
+ securerandom (>= 0.3)
44
+ tzinfo (~> 2.0, >= 2.0.5)
45
+ uri (>= 0.13.1)
46
+ ansi (1.5.0)
47
+ appraisal (2.5.0)
48
+ bundler
49
+ rake
50
+ thor (>= 0.14.0)
51
+ base64 (0.2.0)
52
+ benchmark (0.4.0)
53
+ bigdecimal (3.1.9)
54
+ builder (3.3.0)
55
+ byebug (12.0.0)
56
+ concurrent-ruby (1.3.5)
57
+ connection_pool (2.5.0)
58
+ crass (1.0.6)
59
+ drb (2.2.1)
60
+ erubi (1.13.1)
61
+ i18n (1.14.7)
62
+ concurrent-ruby (~> 1.0)
63
+ logger (1.7.0)
64
+ loofah (2.24.0)
65
+ crass (~> 1.0.2)
66
+ nokogiri (>= 1.12.0)
67
+ m (1.6.2)
68
+ method_source (>= 0.6.7)
69
+ rake (>= 0.9.2.2)
70
+ method_source (1.1.0)
71
+ mini_portile2 (2.8.8)
72
+ minitest (5.25.5)
73
+ minitest-reporters (1.7.1)
74
+ ansi
75
+ builder
76
+ minitest (>= 5.0)
77
+ ruby-progressbar
78
+ mocha (2.7.1)
79
+ ruby2_keywords (>= 0.0.5)
80
+ mutex_m (0.3.0)
81
+ nokogiri (1.18.7)
82
+ mini_portile2 (~> 2.8.2)
83
+ racc (~> 1.4)
84
+ nokogiri (1.18.7-aarch64-linux-gnu)
85
+ racc (~> 1.4)
86
+ nokogiri (1.18.7-aarch64-linux-musl)
87
+ racc (~> 1.4)
88
+ nokogiri (1.18.7-arm-linux-gnu)
89
+ racc (~> 1.4)
90
+ nokogiri (1.18.7-arm-linux-musl)
91
+ racc (~> 1.4)
92
+ nokogiri (1.18.7-arm64-darwin)
93
+ racc (~> 1.4)
94
+ nokogiri (1.18.7-x86_64-darwin)
95
+ racc (~> 1.4)
96
+ nokogiri (1.18.7-x86_64-linux-gnu)
97
+ racc (~> 1.4)
98
+ nokogiri (1.18.7-x86_64-linux-musl)
99
+ racc (~> 1.4)
100
+ racc (1.8.1)
101
+ rack (3.1.12)
102
+ rack-session (2.1.0)
103
+ base64 (>= 0.1.0)
104
+ rack (>= 3.0.0)
105
+ rack-test (2.2.0)
106
+ rack (>= 1.3)
107
+ rails-dom-testing (2.2.0)
108
+ activesupport (>= 5.0.0)
109
+ minitest
110
+ nokogiri (>= 1.6)
111
+ rails-html-sanitizer (1.6.2)
112
+ loofah (~> 2.21)
113
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
114
+ rake (13.2.1)
115
+ ruby-progressbar (1.13.0)
116
+ ruby2_keywords (0.0.5)
117
+ securerandom (0.4.1)
118
+ thor (1.3.2)
119
+ tzinfo (2.0.6)
120
+ concurrent-ruby (~> 1.0)
121
+ uri (1.0.3)
122
+ useragent (0.16.11)
123
+
124
+ PLATFORMS
125
+ aarch64-linux
126
+ aarch64-linux-gnu
127
+ aarch64-linux-musl
128
+ arm-linux
129
+ arm-linux-gnu
130
+ arm-linux-musl
131
+ arm64-darwin
132
+ ruby
133
+ x86-linux
134
+ x86_64-darwin
135
+ x86_64-linux
136
+ x86_64-linux-gnu
137
+ x86_64-linux-musl
138
+
139
+ DEPENDENCIES
140
+ actionpack (~> 8.0.0)
141
+ activemodel (~> 8.0.0)
142
+ appraisal
143
+ byebug
144
+ m
145
+ minitest
146
+ minitest-reporters
147
+ mocha
148
+ rake
149
+ subroutine!
150
+
151
+ CHECKSUMS
152
+ actionpack (8.0.2) sha256=93e703064f3815295ccf820f57acbca719aec836749597da9262781c9b2f4b78
153
+ actionview (8.0.2) sha256=e038e1405cdfc18f04f17243da4fb8eeda3a4992f63a6d70a7281d255cf7cebb
154
+ activemodel (8.0.2) sha256=0ae1fb7fa1fae0699ba041a9e97702df42ea3b13f2d39f2d0fde51fca5f0656c
155
+ activesupport (8.0.2) sha256=8565cddba31b900cdc17682fd66ecd020441e3eef320a9930285394e8c07a45e
156
+ ansi (1.5.0) sha256=5408253274e33d9d27d4a98c46d2998266fd51cba58a7eb9d08f50e57ed23592
157
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
158
+ base64 (0.2.0) sha256=0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507
159
+ benchmark (0.4.0) sha256=0f12f8c495545e3710c3e4f0480f63f06b4c842cc94cec7f33a956f5180e874a
160
+ bigdecimal (3.1.9) sha256=2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
161
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
162
+ byebug (12.0.0) sha256=d4a150d291cca40b66ec9ca31f754e93fed8aa266a17335f71bb0afa7fca1a1e
163
+ concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6
164
+ connection_pool (2.5.0) sha256=233b92f8d38e038c1349ccea65dd3772727d669d6d2e71f9897c8bf5cd53ebfc
165
+ crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
166
+ drb (2.2.1) sha256=e9d472bf785f558b96b25358bae115646da0dbfd45107ad858b0bc0d935cb340
167
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
168
+ i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f
169
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
170
+ loofah (2.24.0) sha256=61e6a710883abb8210887f3dc868cf3ed66594c509d9ff6987621efa6651ee1e
171
+ m (1.6.2) sha256=2fb85aff050b6b699e6dbca47b45d426e2136ccdfabb64437e9630230d29108e
172
+ method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
173
+ mini_portile2 (2.8.8) sha256=8e47136cdac04ce81750bb6c09733b37895bf06962554e4b4056d78168d70a75
174
+ minitest (5.25.5) sha256=391b6c6cb43a4802bfb7c93af1ebe2ac66a210293f4a3fb7db36f2fc7dc2c756
175
+ minitest-reporters (1.7.1) sha256=5060413a0c95b8c32fe73e0606f3631c173a884d7900e50013e15094eb50562c
176
+ mocha (2.7.1) sha256=8f7d538d5d3ebc75fc788b3d92fbab913a93a78462d2a3ce99d1bdde7af7f851
177
+ mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
178
+ nokogiri (1.18.7) sha256=6b63ff5defe48f30d1d3b3122f65255ca91df2caf5378c6e0482ce73ff46fb31
179
+ nokogiri (1.18.7-aarch64-linux-gnu) sha256=57a064ab5440814a69a0e040817bd8154adea68a30d2ff2b3aa515a6a06dbb5f
180
+ nokogiri (1.18.7-aarch64-linux-musl) sha256=3e442dc5b69376e84288295fe37cbb890a21ad816a7e571e5e9967b3c1e30cd3
181
+ nokogiri (1.18.7-arm-linux-gnu) sha256=337d9149deb5ae01022dff7c90f97bed81715fd586aacab0c5809ef933994c5e
182
+ nokogiri (1.18.7-arm-linux-musl) sha256=97a26edcc975f780a0822aaf7f7d7427c561067c1c9ee56bd3542960f0c28a6e
183
+ nokogiri (1.18.7-arm64-darwin) sha256=083abb2e9ed2646860f6b481a981485a658c6064caafaa81bf1cda1bada2e9d5
184
+ nokogiri (1.18.7-x86_64-darwin) sha256=081d1aa517454ba3415304e2ea51fe411d6a3a809490d0c4aa42799cada417b7
185
+ nokogiri (1.18.7-x86_64-linux-gnu) sha256=3a0bf946eb2defde13d760f869b61bc8b0c18875afdd3cffa96543cfa3a18005
186
+ nokogiri (1.18.7-x86_64-linux-musl) sha256=9d83f8ec1fc37a305fa835d7ee61a4f37899e6ccc6dcb05be6645fa9797605af
187
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
188
+ rack (3.1.12) sha256=00d83055c89273eb13679ab562767b8826955aa6c4371d7d161deb975c50c540
189
+ rack-session (2.1.0) sha256=437c3916535b58ef71c816ce4a2dee0a01c8a52ae6077dc2b6cd19085760a290
190
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
191
+ rails-dom-testing (2.2.0) sha256=e515712e48df1f687a1d7c380fd7b07b8558faa26464474da64183a7426fa93b
192
+ rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560
193
+ rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d
194
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
195
+ ruby2_keywords (0.0.5) sha256=ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef
196
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
197
+ subroutine (4.4.0)
198
+ thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda
199
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
200
+ uri (1.0.3) sha256=e9f2244608eea2f7bc357d954c65c910ce0399ca5e18a7a29207ac22d8767011
201
+ useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
202
+
203
+ BUNDLED WITH
204
+ 2.6.7
@@ -13,7 +13,10 @@ module Subroutine
13
13
  end
14
14
  end
15
15
 
16
- DEFAULT_OPTIONS = { required: true }.freeze
16
+ DEFAULT_OPTIONS = {
17
+ required: true,
18
+ lazy: false
19
+ }.freeze
17
20
 
18
21
  attr_reader :output_name
19
22
 
@@ -28,6 +31,10 @@ module Subroutine
28
31
  !!config[:required]
29
32
  end
30
33
 
34
+ def lazy?
35
+ !!config[:lazy]
36
+ end
37
+
31
38
  def inspect
32
39
  "#<#{self.class}:#{object_id} name=#{output_name} config=#{config.inspect}>"
33
40
  end
@@ -10,11 +10,27 @@ module Subroutine
10
10
 
11
11
  extend ActiveSupport::Concern
12
12
 
13
+ class LazyExecutor
14
+ def initialize(value)
15
+ @value_block = value
16
+ @executed = false
17
+ end
18
+
19
+ def value
20
+ return @value if @executed
21
+ @value = @value_block.respond_to?(:call) ? @value_block.call : @value
22
+ @executed = true
23
+ @value
24
+ end
25
+
26
+ def executed?
27
+ @executed
28
+ end
29
+ end
30
+
13
31
  included do
14
32
  class_attribute :output_configurations
15
33
  self.output_configurations = {}
16
-
17
- attr_reader :outputs
18
34
  end
19
35
 
20
36
  module ClassMethods
@@ -39,20 +55,42 @@ module Subroutine
39
55
  @outputs = {} # don't do with_indifferent_access because it will turn provided objects into with_indifferent_access objects, which may not be the desired behavior
40
56
  end
41
57
 
58
+ def outputs
59
+ unless @outputs_executed
60
+ @outputs.each_pair do |key, value|
61
+ @outputs[key] = value.is_a?(LazyExecutor) ? value.value : value
62
+ end
63
+ @outputs_executed = true
64
+ end
65
+
66
+ @outputs
67
+ end
68
+
42
69
  def output(name, value)
43
70
  name = name.to_sym
44
71
  unless output_configurations.key?(name)
45
72
  raise ::Subroutine::Outputs::UnknownOutputError, name
46
73
  end
47
74
 
48
- outputs[name] = value
75
+ @outputs[name] = output_configurations[name].lazy? ? LazyExecutor.new(value) : value
49
76
  end
50
77
 
51
78
  def get_output(name)
52
79
  name = name.to_sym
53
80
  raise ::Subroutine::Outputs::UnknownOutputError, name unless output_configurations.key?(name)
54
81
 
55
- outputs[name]
82
+ output = @outputs[name]
83
+ unless output.is_a?(LazyExecutor)
84
+ output
85
+ else
86
+ # if its not executed, validate the type
87
+ unless output.executed?
88
+ @outputs[name] = output.value
89
+ ensure_output_type_valid!(name)
90
+ end
91
+
92
+ @outputs[name]
93
+ end
56
94
  end
57
95
 
58
96
  def validate_outputs!
@@ -60,21 +98,27 @@ module Subroutine
60
98
  if config.required? && !output_provided?(name)
61
99
  raise ::Subroutine::Outputs::OutputNotSetError, name
62
100
  end
63
- unless valid_output_type?(name)
64
- name = name.to_sym
65
- raise ::Subroutine::Outputs::InvalidOutputTypeError.new(
66
- name: name,
67
- actual_type: outputs[name].class,
68
- expected_type: output_configurations[name][:type]
69
- )
101
+ unless output_configurations[name].lazy?
102
+ ensure_output_type_valid!(name)
70
103
  end
71
104
  end
72
105
  end
73
106
 
107
+ def ensure_output_type_valid!(name)
108
+ return if valid_output_type?(name)
109
+
110
+ name = name.to_sym
111
+ raise ::Subroutine::Outputs::InvalidOutputTypeError.new(
112
+ name: name,
113
+ actual_type: @outputs[name].class,
114
+ expected_type: output_configurations[name][:type]
115
+ )
116
+ end
117
+
74
118
  def output_provided?(name)
75
119
  name = name.to_sym
76
120
 
77
- outputs.key?(name)
121
+ @outputs.key?(name)
78
122
  end
79
123
 
80
124
  def valid_output_type?(name)
@@ -84,9 +128,9 @@ module Subroutine
84
128
 
85
129
  output_configuration = output_configurations[name]
86
130
  return true unless output_configuration[:type]
87
- return true if !output_configuration.required? && outputs[name].nil?
131
+ return true if !output_configuration.required? && @outputs[name].nil?
88
132
 
89
- outputs[name].is_a?(output_configuration[:type])
133
+ @outputs[name].is_a?(output_configuration[:type])
90
134
  end
91
135
  end
92
136
  end
@@ -3,7 +3,7 @@
3
3
  module Subroutine
4
4
 
5
5
  MAJOR = 4
6
- MINOR = 2
6
+ MINOR = 4
7
7
  PATCH = 0
8
8
  PRE = nil
9
9
 
data/subroutine.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.email = ["mike@mnelson.io"]
12
12
  spec.summary = "Feature-driven operation objects."
13
13
  spec.description = "An interface for creating feature-driven operations."
14
- spec.homepage = "https://github.com/mnelson/subroutine"
14
+ spec.homepage = "https://github.com/guideline-tech/subroutine"
15
15
  spec.license = "MIT"
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0")
@@ -21,6 +21,10 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.add_dependency "activemodel", ">= 6.1"
23
23
  spec.add_dependency "activesupport", ">= 6.1"
24
+ spec.add_dependency "base64"
25
+ spec.add_dependency "bigdecimal"
26
+ spec.add_dependency "logger"
27
+ spec.add_dependency "mutex_m"
24
28
 
25
29
  spec.add_development_dependency "actionpack", ">= 6.1"
26
30
  spec.add_development_dependency "byebug"
@@ -29,4 +33,6 @@ Gem::Specification.new do |spec|
29
33
  spec.add_development_dependency "minitest-reporters"
30
34
  spec.add_development_dependency "mocha"
31
35
  spec.add_development_dependency "rake"
36
+
37
+ spec.required_ruby_version = ">= 3.2.0"
32
38
  end
@@ -10,6 +10,20 @@ module Subroutine
10
10
  end
11
11
  end
12
12
 
13
+ class LazyOutputOp < ::Subroutine::Op
14
+ outputs :foo, lazy: true
15
+ outputs :baz, lazy: true, type: String
16
+
17
+ def perform
18
+ output :foo, -> { call_me }
19
+ output :baz, -> { call_baz }
20
+ end
21
+
22
+ def call_me; end
23
+
24
+ def call_baz; end
25
+ end
26
+
13
27
  class MissingOutputSetOp < ::Subroutine::Op
14
28
  outputs :foo
15
29
  def perform
@@ -99,5 +113,50 @@ module Subroutine
99
113
  op.submit
100
114
  end
101
115
  end
116
+
117
+ ################
118
+ # lazy outputs #
119
+ ################
120
+
121
+ def test_it_does_not_call_lazy_output_values_if_not_accessed
122
+ op = LazyOutputOp.new
123
+ op.expects(:call_me).never
124
+ op.submit!
125
+ end
126
+
127
+ def test_it_calls_lazy_output_values_if_accessed
128
+ op = LazyOutputOp.new
129
+ op.expects(:call_me).once
130
+ op.submit!
131
+ op.foo
132
+ end
133
+
134
+ def test_it_validates_type_when_lazy_output_is_accessed
135
+ op = LazyOutputOp.new
136
+ op.expects(:call_baz).once.returns("a string")
137
+ op.submit!
138
+ assert_silent do
139
+ op.baz
140
+ end
141
+ end
142
+
143
+ def test_it_raises_error_on_invalid_type_when_lazy_output_is_accessed
144
+ op = LazyOutputOp.new
145
+ op.expects(:call_baz).once.returns(10)
146
+ op.submit!
147
+ error = assert_raises(Subroutine::Outputs::InvalidOutputTypeError) do
148
+ op.baz
149
+ end
150
+ assert_match(/Invalid output type for 'baz' expected String but got Integer/, error.message)
151
+ end
152
+
153
+ def test_it_returns_outputs
154
+ op = LazyOutputOp.new
155
+ op.expects(:call_me).once.returns(1)
156
+ op.expects(:call_baz).once.returns("a string")
157
+ op.submit!
158
+ assert_equal({ foo: 1, baz: "a string" }, op.outputs)
159
+ end
160
+
102
161
  end
103
162
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: subroutine
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0
4
+ version: 4.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Nelson
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-19 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activemodel
@@ -38,6 +37,62 @@ dependencies:
38
37
  - - ">="
39
38
  - !ruby/object:Gem::Version
40
39
  version: '6.1'
40
+ - !ruby/object:Gem::Dependency
41
+ name: base64
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: bigdecimal
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: logger
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: mutex_m
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
41
96
  - !ruby/object:Gem::Dependency
42
97
  name: actionpack
43
98
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +219,8 @@ files:
164
219
  - gemfiles/rails_7.1.gemfile.lock
165
220
  - gemfiles/rails_7.2.gemfile
166
221
  - gemfiles/rails_7.2.gemfile.lock
222
+ - gemfiles/rails_8.0.gemfile
223
+ - gemfiles/rails_8.0.gemfile.lock
167
224
  - lib/subroutine.rb
168
225
  - lib/subroutine/association_fields.rb
169
226
  - lib/subroutine/association_fields/association_type_mismatch_error.rb
@@ -193,11 +250,10 @@ files:
193
250
  - test/subroutine/type_caster_test.rb
194
251
  - test/support/ops.rb
195
252
  - test/test_helper.rb
196
- homepage: https://github.com/mnelson/subroutine
253
+ homepage: https://github.com/guideline-tech/subroutine
197
254
  licenses:
198
255
  - MIT
199
256
  metadata: {}
200
- post_install_message:
201
257
  rdoc_options: []
202
258
  require_paths:
203
259
  - lib
@@ -205,15 +261,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
205
261
  requirements:
206
262
  - - ">="
207
263
  - !ruby/object:Gem::Version
208
- version: '0'
264
+ version: 3.2.0
209
265
  required_rubygems_version: !ruby/object:Gem::Requirement
210
266
  requirements:
211
267
  - - ">="
212
268
  - !ruby/object:Gem::Version
213
269
  version: '0'
214
270
  requirements: []
215
- rubygems_version: 3.5.23
216
- signing_key:
271
+ rubygems_version: 3.6.7
217
272
  specification_version: 4
218
273
  summary: Feature-driven operation objects.
219
274
  test_files:
@@ -225,6 +280,8 @@ test_files:
225
280
  - gemfiles/rails_7.1.gemfile.lock
226
281
  - gemfiles/rails_7.2.gemfile
227
282
  - gemfiles/rails_7.2.gemfile.lock
283
+ - gemfiles/rails_8.0.gemfile
284
+ - gemfiles/rails_8.0.gemfile.lock
228
285
  - test/subroutine/association_test.rb
229
286
  - test/subroutine/auth_test.rb
230
287
  - test/subroutine/base_test.rb