granite 0.17.7 → 1.0.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/app/controllers/granite/controller.rb +1 -0
- data/lib/granite/action/performer.rb +1 -0
- data/lib/granite/action/preconditions/embedded_precondition.rb +3 -3
- data/lib/granite/action/preconditions.rb +1 -1
- data/lib/granite/action/transaction_manager.rb +3 -2
- data/lib/granite/context_proxy/proxy.rb +2 -2
- data/lib/granite/dispatcher.rb +9 -9
- data/lib/granite/projector/helpers.rb +2 -4
- data/lib/granite/rspec/perform_action.rb +1 -1
- data/lib/granite/rspec/projector_helpers.rb +1 -1
- data/lib/granite/rspec/satisfy_preconditions.rb +1 -1
- data/lib/granite/version.rb +1 -1
- data/lib/granite.rb +0 -1
- metadata +65 -98
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b350a3ec5e67ddb8963e53fd5662b907281bd99ae80bf2c56d1e38bc5aab1e91
|
|
4
|
+
data.tar.gz: e50e8205ed1c15b743c19162a707aaeb9e22aa56956b7cfc468c9c2ddaba9211
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e0bd294852f36a6e3995cc8bd2637093be985032d32645350f04fdad67c6897dafde07770ec53f720af43bb7b6470fe59643a3ba4784d97a829e35c8bc609fc7
|
|
7
|
+
data.tar.gz: 15c8c6b16d6514fd6b3699e99615e06b1f2ee523cd978bb3725891c969a991f81e72fba821d5e52064a4afe48c4875fd4aa4c77a5e499eb03f69b103a678b874
|
|
@@ -5,15 +5,15 @@ module Granite
|
|
|
5
5
|
module Preconditions
|
|
6
6
|
# Checks related business actions for precondition errors and adds them to current action.
|
|
7
7
|
#
|
|
8
|
-
#
|
|
8
|
+
# memo_wise def child_action
|
|
9
9
|
# ...
|
|
10
10
|
# end
|
|
11
11
|
# precondition embedded: :child_action
|
|
12
12
|
#
|
|
13
|
-
#
|
|
13
|
+
# memo_wise def child_action
|
|
14
14
|
# ...
|
|
15
15
|
# end
|
|
16
|
-
#
|
|
16
|
+
# memo_wise def child_actions
|
|
17
17
|
# ...
|
|
18
18
|
# end
|
|
19
19
|
# precondition embedded: [:child_action, :child_actions]
|
|
@@ -106,7 +106,7 @@ module Granite
|
|
|
106
106
|
|
|
107
107
|
private
|
|
108
108
|
|
|
109
|
-
def run_preconditions!(cache_result: false)
|
|
109
|
+
def run_preconditions!(cache_result: false) # rubocop:disable Naming/PredicateMethod
|
|
110
110
|
_preconditions.execute!(self) if @preconditions_run.nil?
|
|
111
111
|
@preconditions_run = true if cache_result
|
|
112
112
|
errors.empty?
|
|
@@ -6,6 +6,9 @@ module Granite
|
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
module TransactionManager # :nodoc:
|
|
9
|
+
TRANSACTIONS_STACK_KEY = :granite_transaction_manager_transactions_stack
|
|
10
|
+
private_constant :TRANSACTIONS_STACK_KEY
|
|
11
|
+
|
|
9
12
|
class << self
|
|
10
13
|
# Runs a block in a transaction
|
|
11
14
|
# It will open a new transaction or append a block to the current one if it exists
|
|
@@ -30,8 +33,6 @@ module Granite
|
|
|
30
33
|
|
|
31
34
|
private
|
|
32
35
|
|
|
33
|
-
TRANSACTIONS_STACK_KEY = :granite_transaction_manager_transactions_stack
|
|
34
|
-
|
|
35
36
|
def transactions_stack
|
|
36
37
|
Thread.current[TRANSACTIONS_STACK_KEY] ||= TransactionsStack.new
|
|
37
38
|
end
|
|
@@ -12,10 +12,10 @@ module Granite
|
|
|
12
12
|
"<#{@klass}ContextProxy #{@context}>"
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
def method_missing(method, *args, **kwargs, &block)
|
|
16
16
|
if @klass.respond_to?(method)
|
|
17
17
|
@klass.with_context(@context) do
|
|
18
|
-
@klass.public_send(method, *args, &block)
|
|
18
|
+
@klass.public_send(method, *args, **kwargs, &block)
|
|
19
19
|
end
|
|
20
20
|
else
|
|
21
21
|
super
|
data/lib/granite/dispatcher.rb
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'memo_wise'
|
|
2
2
|
require 'action_controller/metal/exceptions'
|
|
3
3
|
|
|
4
4
|
module Granite
|
|
5
5
|
class Dispatcher # :nodoc:
|
|
6
|
-
|
|
6
|
+
prepend MemoWise
|
|
7
7
|
|
|
8
|
-
# Make dispatcher object pristine, clean
|
|
8
|
+
# Make dispatcher object pristine, clean memo_wise cache.
|
|
9
9
|
def reset!
|
|
10
|
-
|
|
10
|
+
reset_memo_wise
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def call(*)
|
|
@@ -45,23 +45,23 @@ module Granite
|
|
|
45
45
|
]
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
memo_wise def action_name(request_method_symbol, granite_action, granite_projector, projector_action)
|
|
49
49
|
projector = projector(granite_action, granite_projector)
|
|
50
50
|
return unless projector
|
|
51
51
|
|
|
52
52
|
projector.action_for(request_method_symbol, projector_action.to_s)
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
memo_wise def projector(granite_action, granite_projector)
|
|
56
56
|
action = business_action(granite_action)
|
|
57
57
|
|
|
58
58
|
action.public_send(granite_projector) if action.respond_to?(granite_projector)
|
|
59
59
|
end
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
memo_wise def business_action(granite_action)
|
|
62
62
|
granite_action.camelize.safe_constantize ||
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
raise(ActionController::RoutingError,
|
|
64
|
+
"Granite action '#{granite_action}' is mounted but class '#{granite_action.camelize}' can't be found")
|
|
65
65
|
end
|
|
66
66
|
end
|
|
67
67
|
end
|
|
@@ -12,9 +12,7 @@ Do you have #{projector.action_name}##{projector.projector_name} declared in rou
|
|
|
12
12
|
module Helpers # :nodoc:
|
|
13
13
|
extend ActiveSupport::Concern
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
Granite.view_context
|
|
17
|
-
end
|
|
15
|
+
delegate :view_context, to: :Granite
|
|
18
16
|
alias h view_context
|
|
19
17
|
|
|
20
18
|
def action_url(action, **options)
|
|
@@ -35,7 +33,7 @@ Do you have #{projector.action_name}##{projector.projector_name} declared in rou
|
|
|
35
33
|
|
|
36
34
|
def required_params
|
|
37
35
|
corresponding_route.required_parts
|
|
38
|
-
.
|
|
36
|
+
.index_with { |name| action.public_send(name) }
|
|
39
37
|
end
|
|
40
38
|
|
|
41
39
|
def corresponding_route
|
|
@@ -68,7 +68,7 @@ RSpec::Matchers.define :perform_action do |klass| # rubocop:disable Metrics/Bloc
|
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
def actual_attributes(action)
|
|
71
|
-
@attributes.keys.
|
|
71
|
+
@attributes.keys.index_with { |attr| action.public_send(attr) }
|
|
72
72
|
end
|
|
73
73
|
|
|
74
74
|
def action_matches?(action)
|
|
@@ -93,7 +93,7 @@ RSpec::Matchers.define :satisfy_preconditions do # rubocop:disable Metrics/Block
|
|
|
93
93
|
message + " but got following kind of error messages:\n #{actual_kind_of_errors.inspect}"
|
|
94
94
|
end
|
|
95
95
|
|
|
96
|
-
def compare(actual, expected)
|
|
96
|
+
def compare(actual, expected) # rubocop:disable Naming/PredicateMethod
|
|
97
97
|
if RSpec::Matchers.is_a_matcher?(expected)
|
|
98
98
|
expected.matches?(actual)
|
|
99
99
|
elsif expected.is_a?(String)
|
data/lib/granite/version.rb
CHANGED
data/lib/granite.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: granite
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Toptal Engineering
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: actionpack
|
|
@@ -16,78 +15,50 @@ dependencies:
|
|
|
16
15
|
requirements:
|
|
17
16
|
- - ">="
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
18
|
+
version: '7.2'
|
|
20
19
|
type: :runtime
|
|
21
20
|
prerelease: false
|
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
22
|
requirements:
|
|
24
23
|
- - ">="
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
25
|
+
version: '7.2'
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
27
|
name: activesupport
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
30
29
|
requirements:
|
|
31
30
|
- - ">="
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
32
|
+
version: '7.2'
|
|
34
33
|
type: :runtime
|
|
35
34
|
prerelease: false
|
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
37
|
- - ">="
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
39
|
+
version: '7.2'
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
42
41
|
name: granite-form
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
44
43
|
requirements:
|
|
45
44
|
- - ">="
|
|
46
45
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0
|
|
46
|
+
version: '0'
|
|
48
47
|
type: :runtime
|
|
49
48
|
prerelease: false
|
|
50
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
50
|
requirements:
|
|
52
51
|
- - ">="
|
|
53
52
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 0
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: memoist
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - "~>"
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0.16'
|
|
62
|
-
type: :runtime
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - "~>"
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0.16'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: ruby2_keywords
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - "~>"
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: 0.0.5
|
|
76
|
-
type: :runtime
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - "~>"
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: 0.0.5
|
|
53
|
+
version: '0'
|
|
83
54
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
55
|
+
name: memo_wise
|
|
85
56
|
requirement: !ruby/object:Gem::Requirement
|
|
86
57
|
requirements:
|
|
87
58
|
- - ">="
|
|
88
59
|
- !ruby/object:Gem::Version
|
|
89
60
|
version: '0'
|
|
90
|
-
type: :
|
|
61
|
+
type: :runtime
|
|
91
62
|
prerelease: false
|
|
92
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
64
|
requirements:
|
|
@@ -95,7 +66,7 @@ dependencies:
|
|
|
95
66
|
- !ruby/object:Gem::Version
|
|
96
67
|
version: '0'
|
|
97
68
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
69
|
+
name: activerecord
|
|
99
70
|
requirement: !ruby/object:Gem::Requirement
|
|
100
71
|
requirements:
|
|
101
72
|
- - ">="
|
|
@@ -126,30 +97,30 @@ dependencies:
|
|
|
126
97
|
name: fuubar
|
|
127
98
|
requirement: !ruby/object:Gem::Requirement
|
|
128
99
|
requirements:
|
|
129
|
-
- - "
|
|
100
|
+
- - ">="
|
|
130
101
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: '
|
|
102
|
+
version: '0'
|
|
132
103
|
type: :development
|
|
133
104
|
prerelease: false
|
|
134
105
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
106
|
requirements:
|
|
136
|
-
- - "
|
|
107
|
+
- - ">="
|
|
137
108
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: '
|
|
109
|
+
version: '0'
|
|
139
110
|
- !ruby/object:Gem::Dependency
|
|
140
111
|
name: pg
|
|
141
112
|
requirement: !ruby/object:Gem::Requirement
|
|
142
113
|
requirements:
|
|
143
|
-
- - "
|
|
114
|
+
- - ">="
|
|
144
115
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: '
|
|
116
|
+
version: '0'
|
|
146
117
|
type: :development
|
|
147
118
|
prerelease: false
|
|
148
119
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
120
|
requirements:
|
|
150
|
-
- - "
|
|
121
|
+
- - ">="
|
|
151
122
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: '
|
|
123
|
+
version: '0'
|
|
153
124
|
- !ruby/object:Gem::Dependency
|
|
154
125
|
name: pry-byebug
|
|
155
126
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -168,158 +139,156 @@ dependencies:
|
|
|
168
139
|
name: rspec
|
|
169
140
|
requirement: !ruby/object:Gem::Requirement
|
|
170
141
|
requirements:
|
|
171
|
-
- - "
|
|
142
|
+
- - ">="
|
|
172
143
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: '
|
|
144
|
+
version: '0'
|
|
174
145
|
type: :development
|
|
175
146
|
prerelease: false
|
|
176
147
|
version_requirements: !ruby/object:Gem::Requirement
|
|
177
148
|
requirements:
|
|
178
|
-
- - "
|
|
149
|
+
- - ">="
|
|
179
150
|
- !ruby/object:Gem::Version
|
|
180
|
-
version: '
|
|
151
|
+
version: '0'
|
|
181
152
|
- !ruby/object:Gem::Dependency
|
|
182
153
|
name: rspec-activemodel-mocks
|
|
183
154
|
requirement: !ruby/object:Gem::Requirement
|
|
184
155
|
requirements:
|
|
185
|
-
- - "
|
|
156
|
+
- - ">="
|
|
186
157
|
- !ruby/object:Gem::Version
|
|
187
|
-
version: '
|
|
158
|
+
version: '0'
|
|
188
159
|
type: :development
|
|
189
160
|
prerelease: false
|
|
190
161
|
version_requirements: !ruby/object:Gem::Requirement
|
|
191
162
|
requirements:
|
|
192
|
-
- - "
|
|
163
|
+
- - ">="
|
|
193
164
|
- !ruby/object:Gem::Version
|
|
194
|
-
version: '
|
|
165
|
+
version: '0'
|
|
195
166
|
- !ruby/object:Gem::Dependency
|
|
196
167
|
name: rspec-collection_matchers
|
|
197
168
|
requirement: !ruby/object:Gem::Requirement
|
|
198
169
|
requirements:
|
|
199
|
-
- - "
|
|
170
|
+
- - ">="
|
|
200
171
|
- !ruby/object:Gem::Version
|
|
201
|
-
version: '
|
|
172
|
+
version: '0'
|
|
202
173
|
type: :development
|
|
203
174
|
prerelease: false
|
|
204
175
|
version_requirements: !ruby/object:Gem::Requirement
|
|
205
176
|
requirements:
|
|
206
|
-
- - "
|
|
177
|
+
- - ">="
|
|
207
178
|
- !ruby/object:Gem::Version
|
|
208
|
-
version: '
|
|
179
|
+
version: '0'
|
|
209
180
|
- !ruby/object:Gem::Dependency
|
|
210
181
|
name: rspec-its
|
|
211
182
|
requirement: !ruby/object:Gem::Requirement
|
|
212
183
|
requirements:
|
|
213
|
-
- - "
|
|
184
|
+
- - ">="
|
|
214
185
|
- !ruby/object:Gem::Version
|
|
215
|
-
version: '
|
|
186
|
+
version: '0'
|
|
216
187
|
type: :development
|
|
217
188
|
prerelease: false
|
|
218
189
|
version_requirements: !ruby/object:Gem::Requirement
|
|
219
190
|
requirements:
|
|
220
|
-
- - "
|
|
191
|
+
- - ">="
|
|
221
192
|
- !ruby/object:Gem::Version
|
|
222
|
-
version: '
|
|
193
|
+
version: '0'
|
|
223
194
|
- !ruby/object:Gem::Dependency
|
|
224
195
|
name: rspec_junit_formatter
|
|
225
196
|
requirement: !ruby/object:Gem::Requirement
|
|
226
197
|
requirements:
|
|
227
|
-
- - "
|
|
198
|
+
- - ">="
|
|
228
199
|
- !ruby/object:Gem::Version
|
|
229
|
-
version: '0
|
|
200
|
+
version: '0'
|
|
230
201
|
type: :development
|
|
231
202
|
prerelease: false
|
|
232
203
|
version_requirements: !ruby/object:Gem::Requirement
|
|
233
204
|
requirements:
|
|
234
|
-
- - "
|
|
205
|
+
- - ">="
|
|
235
206
|
- !ruby/object:Gem::Version
|
|
236
|
-
version: '0
|
|
207
|
+
version: '0'
|
|
237
208
|
- !ruby/object:Gem::Dependency
|
|
238
209
|
name: rspec-rails
|
|
239
210
|
requirement: !ruby/object:Gem::Requirement
|
|
240
211
|
requirements:
|
|
241
|
-
- - "
|
|
212
|
+
- - ">="
|
|
242
213
|
- !ruby/object:Gem::Version
|
|
243
|
-
version: '
|
|
214
|
+
version: '0'
|
|
244
215
|
type: :development
|
|
245
216
|
prerelease: false
|
|
246
217
|
version_requirements: !ruby/object:Gem::Requirement
|
|
247
218
|
requirements:
|
|
248
|
-
- - "
|
|
219
|
+
- - ">="
|
|
249
220
|
- !ruby/object:Gem::Version
|
|
250
|
-
version: '
|
|
221
|
+
version: '0'
|
|
251
222
|
- !ruby/object:Gem::Dependency
|
|
252
223
|
name: rubocop
|
|
253
224
|
requirement: !ruby/object:Gem::Requirement
|
|
254
225
|
requirements:
|
|
255
|
-
- - "
|
|
226
|
+
- - ">="
|
|
256
227
|
- !ruby/object:Gem::Version
|
|
257
|
-
version:
|
|
228
|
+
version: '0'
|
|
258
229
|
type: :development
|
|
259
230
|
prerelease: false
|
|
260
231
|
version_requirements: !ruby/object:Gem::Requirement
|
|
261
232
|
requirements:
|
|
262
|
-
- - "
|
|
233
|
+
- - ">="
|
|
263
234
|
- !ruby/object:Gem::Version
|
|
264
|
-
version:
|
|
235
|
+
version: '0'
|
|
265
236
|
- !ruby/object:Gem::Dependency
|
|
266
237
|
name: rubocop-rails
|
|
267
238
|
requirement: !ruby/object:Gem::Requirement
|
|
268
239
|
requirements:
|
|
269
|
-
- - "
|
|
240
|
+
- - ">="
|
|
270
241
|
- !ruby/object:Gem::Version
|
|
271
|
-
version:
|
|
242
|
+
version: '0'
|
|
272
243
|
type: :development
|
|
273
244
|
prerelease: false
|
|
274
245
|
version_requirements: !ruby/object:Gem::Requirement
|
|
275
246
|
requirements:
|
|
276
|
-
- - "
|
|
247
|
+
- - ">="
|
|
277
248
|
- !ruby/object:Gem::Version
|
|
278
|
-
version:
|
|
249
|
+
version: '0'
|
|
279
250
|
- !ruby/object:Gem::Dependency
|
|
280
251
|
name: rubocop-rspec
|
|
281
252
|
requirement: !ruby/object:Gem::Requirement
|
|
282
253
|
requirements:
|
|
283
|
-
- - "
|
|
254
|
+
- - ">="
|
|
284
255
|
- !ruby/object:Gem::Version
|
|
285
|
-
version:
|
|
256
|
+
version: '0'
|
|
286
257
|
type: :development
|
|
287
258
|
prerelease: false
|
|
288
259
|
version_requirements: !ruby/object:Gem::Requirement
|
|
289
260
|
requirements:
|
|
290
|
-
- - "
|
|
261
|
+
- - ">="
|
|
291
262
|
- !ruby/object:Gem::Version
|
|
292
|
-
version:
|
|
263
|
+
version: '0'
|
|
293
264
|
- !ruby/object:Gem::Dependency
|
|
294
265
|
name: rubocop-rspec_rails
|
|
295
266
|
requirement: !ruby/object:Gem::Requirement
|
|
296
267
|
requirements:
|
|
297
|
-
- - "
|
|
268
|
+
- - ">="
|
|
298
269
|
- !ruby/object:Gem::Version
|
|
299
|
-
version: '
|
|
270
|
+
version: '0'
|
|
300
271
|
type: :development
|
|
301
272
|
prerelease: false
|
|
302
273
|
version_requirements: !ruby/object:Gem::Requirement
|
|
303
274
|
requirements:
|
|
304
|
-
- - "
|
|
275
|
+
- - ">="
|
|
305
276
|
- !ruby/object:Gem::Version
|
|
306
|
-
version: '
|
|
277
|
+
version: '0'
|
|
307
278
|
- !ruby/object:Gem::Dependency
|
|
308
279
|
name: simplecov
|
|
309
280
|
requirement: !ruby/object:Gem::Requirement
|
|
310
281
|
requirements:
|
|
311
|
-
- - "
|
|
282
|
+
- - ">="
|
|
312
283
|
- !ruby/object:Gem::Version
|
|
313
|
-
version: '0
|
|
284
|
+
version: '0'
|
|
314
285
|
type: :development
|
|
315
286
|
prerelease: false
|
|
316
287
|
version_requirements: !ruby/object:Gem::Requirement
|
|
317
288
|
requirements:
|
|
318
|
-
- - "
|
|
289
|
+
- - ">="
|
|
319
290
|
- !ruby/object:Gem::Version
|
|
320
|
-
version: '0
|
|
321
|
-
description:
|
|
322
|
-
email:
|
|
291
|
+
version: '0'
|
|
323
292
|
executables: []
|
|
324
293
|
extensions: []
|
|
325
294
|
extra_rdoc_files: []
|
|
@@ -396,7 +365,6 @@ licenses:
|
|
|
396
365
|
- MIT
|
|
397
366
|
metadata:
|
|
398
367
|
rubygems_mfa_required: 'true'
|
|
399
|
-
post_install_message:
|
|
400
368
|
rdoc_options: []
|
|
401
369
|
require_paths:
|
|
402
370
|
- lib
|
|
@@ -404,15 +372,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
404
372
|
requirements:
|
|
405
373
|
- - ">="
|
|
406
374
|
- !ruby/object:Gem::Version
|
|
407
|
-
version: '
|
|
375
|
+
version: '3.3'
|
|
408
376
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
409
377
|
requirements:
|
|
410
378
|
- - ">="
|
|
411
379
|
- !ruby/object:Gem::Version
|
|
412
380
|
version: '0'
|
|
413
381
|
requirements: []
|
|
414
|
-
rubygems_version: 3.
|
|
415
|
-
signing_key:
|
|
382
|
+
rubygems_version: 3.6.9
|
|
416
383
|
specification_version: 4
|
|
417
384
|
summary: Another business actions architecture for Rails apps
|
|
418
385
|
test_files: []
|