business_flow 0.19.6 → 0.21.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/.circleci/config.yml +81 -0
- data/.reek.yml +5 -0
- data/.rubocop.yml +9 -6
- data/.ruby-version +1 -1
- data/CHANGELOG.md +5 -0
- data/README.md +15 -1
- data/bin/setup +6 -0
- data/business_flow.gemspec +4 -4
- data/lib/business_flow/cacheable.rb +1 -1
- data/lib/business_flow/callable.rb +1 -1
- data/lib/business_flow/cluster_lock.rb +7 -8
- data/lib/business_flow/dsl.rb +29 -27
- data/lib/business_flow/instrument.rb +2 -1
- data/lib/business_flow/instrumented_step_executor.rb +4 -3
- data/lib/business_flow/step.rb +3 -3
- data/lib/business_flow/version.rb +1 -1
- data/lib/business_flow.rb +1 -0
- metadata +10 -14
- data/Gemfile +0 -18
- data/Gemfile.lock +0 -122
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d9d5e39246745984117d29b635e976b219dd98849fa878925c740b9abdd0f499
|
|
4
|
+
data.tar.gz: bc30bd5baf31d6ed5305b830506bbf6ae777ccd4f001c74faa0971498af31ec8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: efc19e3d43bdb141d74450bcb303b668fd8a6b50077cd7174f2ad71fa76a6218c22a015295f8e95639e1752342b16633ab3e84c793c8417d6ada013f52cfeee0
|
|
7
|
+
data.tar.gz: 2c231d90e0b1e32f8ff1eb15f844f1d563065c5ed34d533b2be3852d007d677bfaf22b395b98a696e2415599e78c463470735f4bb83a60955cc78cb08644c3dd
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
version: 2.1
|
|
2
|
+
|
|
3
|
+
orbs:
|
|
4
|
+
ruby: circleci/ruby@2.5.3
|
|
5
|
+
|
|
6
|
+
references:
|
|
7
|
+
RUBY_IMAGE: &RUBY_IMAGE
|
|
8
|
+
cimg/ruby:3.3.9
|
|
9
|
+
RUBY_DEPS: &RUBY_DEPS
|
|
10
|
+
include-branch-in-cache-key: false
|
|
11
|
+
clean-bundle: true
|
|
12
|
+
key: gems-v2
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
refresh_ruby_deps:
|
|
16
|
+
docker:
|
|
17
|
+
- image: *RUBY_IMAGE
|
|
18
|
+
environment:
|
|
19
|
+
BUNDLE_JOBS: '2'
|
|
20
|
+
MALLOC_ARENA_MAX: '2'
|
|
21
|
+
BUNDLE_RETRY: '3'
|
|
22
|
+
steps:
|
|
23
|
+
- checkout
|
|
24
|
+
- run: 'rm .ruby-*'
|
|
25
|
+
- ruby/install-deps:
|
|
26
|
+
<<: *RUBY_DEPS
|
|
27
|
+
rubocop:
|
|
28
|
+
docker:
|
|
29
|
+
- image: *RUBY_IMAGE
|
|
30
|
+
steps:
|
|
31
|
+
- checkout
|
|
32
|
+
- run: 'rm .ruby-*'
|
|
33
|
+
- ruby/install-deps:
|
|
34
|
+
<<: *RUBY_DEPS
|
|
35
|
+
- run: bundle exec rubocop
|
|
36
|
+
reek:
|
|
37
|
+
docker:
|
|
38
|
+
- image: *RUBY_IMAGE
|
|
39
|
+
steps:
|
|
40
|
+
- checkout
|
|
41
|
+
- run: 'rm .ruby-*'
|
|
42
|
+
- ruby/install-deps:
|
|
43
|
+
<<: *RUBY_DEPS
|
|
44
|
+
- run: bundle exec reek
|
|
45
|
+
rspec:
|
|
46
|
+
parameters:
|
|
47
|
+
ruby-version:
|
|
48
|
+
type: string
|
|
49
|
+
docker:
|
|
50
|
+
- image: cimg/ruby:<< parameters.ruby-version >>
|
|
51
|
+
steps:
|
|
52
|
+
- checkout
|
|
53
|
+
- restore_cache:
|
|
54
|
+
key: v3-business_flow-<< parameters.ruby-version >>-{{ checksum "Gemfile.lock" }}-{{ checksum "Appraisals" }}
|
|
55
|
+
- run: bundle config set --local path 'vendor/bundle'
|
|
56
|
+
- run: bundle install
|
|
57
|
+
- run: bundle exec appraisal install --path 'vendor/bundle'
|
|
58
|
+
- save_cache:
|
|
59
|
+
key: v3-business_flow-<< parameters.ruby-version >>-{{ checksum "Gemfile.lock" }}-{{ checksum "Appraisals" }}
|
|
60
|
+
paths:
|
|
61
|
+
- ~/project/vendor/bundle
|
|
62
|
+
- run: bundle exec appraisal rspec --format p
|
|
63
|
+
|
|
64
|
+
workflows:
|
|
65
|
+
full:
|
|
66
|
+
jobs:
|
|
67
|
+
- refresh_ruby_deps
|
|
68
|
+
- rubocop:
|
|
69
|
+
requires:
|
|
70
|
+
- refresh_ruby_deps
|
|
71
|
+
- reek:
|
|
72
|
+
requires:
|
|
73
|
+
- refresh_ruby_deps
|
|
74
|
+
- rspec:
|
|
75
|
+
matrix:
|
|
76
|
+
parameters:
|
|
77
|
+
ruby-version:
|
|
78
|
+
- "3.1.6"
|
|
79
|
+
- "3.2.9"
|
|
80
|
+
- "3.3.9"
|
|
81
|
+
- "3.4.6"
|
data/.reek.yml
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
# Auto generated by Reeks --todo flag
|
|
2
2
|
---
|
|
3
3
|
detectors:
|
|
4
|
+
ControlParameter:
|
|
5
|
+
exclude:
|
|
6
|
+
- BusinessFlow::ClusterLock#read_attribute_for_validation
|
|
4
7
|
FeatureEnvy:
|
|
5
8
|
exclude:
|
|
6
9
|
- BusinessFlow::ClusterLock::ClassMethods::LockFailure#add_to
|
|
@@ -11,3 +14,5 @@ detectors:
|
|
|
11
14
|
# N.B. If we want to enable this, we need to tweak the RuboCop config. In particular, RuboCop
|
|
12
15
|
# prefers `e` for exceptions.
|
|
13
16
|
enabled: false
|
|
17
|
+
exclude_paths:
|
|
18
|
+
- vendor # For CircleCI.
|
data/.rubocop.yml
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
plugins:
|
|
2
2
|
- rubocop-rspec
|
|
3
|
+
- rubocop-rspec_rails
|
|
4
|
+
- rubocop-rake
|
|
3
5
|
|
|
4
6
|
AllCops:
|
|
5
|
-
TargetRubyVersion:
|
|
7
|
+
TargetRubyVersion: 3.1
|
|
6
8
|
NewCops: enable
|
|
7
9
|
Exclude:
|
|
8
10
|
- coverage/**/*
|
|
11
|
+
- gemfiles/**/*
|
|
12
|
+
- vendor/bundle/**/* # For CircleCI. Siiiiigh.
|
|
9
13
|
|
|
10
14
|
# Excluding specs here because of RSpec's tendency to look at the line-number info on a backtrace to
|
|
11
15
|
# decide what to show you when a matcher fails. I.E. a very long line may be needed to ensure you
|
|
@@ -18,6 +22,9 @@ Layout/LineLength:
|
|
|
18
22
|
RSpec/MultipleMemoizedHelpers:
|
|
19
23
|
Enabled: false
|
|
20
24
|
|
|
25
|
+
RSpec/IncludeExamples:
|
|
26
|
+
Enabled: false
|
|
27
|
+
|
|
21
28
|
RSpec/IndexedLet:
|
|
22
29
|
# We have specs that are describing process steps, so... numbers are kinda the best way to describe that.
|
|
23
30
|
Enabled: false
|
|
@@ -48,10 +55,6 @@ Style/RescueModifier:
|
|
|
48
55
|
Style/DocumentDynamicEvalDefinition:
|
|
49
56
|
Enabled: false
|
|
50
57
|
|
|
51
|
-
# Explicit is bettr than implicit.
|
|
52
|
-
FactoryBot/SyntaxMethods:
|
|
53
|
-
Enabled: false
|
|
54
|
-
|
|
55
58
|
# For `match(hash_including(...))`, in specs, this rule would make things pretty unreadable.
|
|
56
59
|
Layout/ClosingParenthesisIndentation:
|
|
57
60
|
Exclude:
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
ruby-
|
|
1
|
+
ruby-3.3.9
|
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
|
@@ -30,9 +30,23 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
|
|
|
30
30
|
|
|
31
31
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
|
32
32
|
|
|
33
|
+
### Running Tests
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# To test against all supported ActiveModel versions:
|
|
37
|
+
appraisal rspec
|
|
38
|
+
|
|
39
|
+
# To test against a specific ActiveModel version:
|
|
40
|
+
appraisal activemodel-5.2 rspec
|
|
41
|
+
|
|
42
|
+
# Validate code quality:
|
|
43
|
+
rubocop
|
|
44
|
+
reek # N.B. RSpec runs _some_ reek tests, but not _all_!
|
|
45
|
+
```
|
|
46
|
+
|
|
33
47
|
## Contributing
|
|
34
48
|
|
|
35
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
|
49
|
+
Bug reports and pull requests are welcome on GitHub at <https://github.com/GoCarrot/business_flow>.
|
|
36
50
|
|
|
37
51
|
## License
|
|
38
52
|
|
data/bin/setup
CHANGED
data/business_flow.gemspec
CHANGED
|
@@ -15,16 +15,16 @@ Gem::Specification.new do |spec|
|
|
|
15
15
|
spec.license = 'MIT'
|
|
16
16
|
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
|
18
|
-
f.match(%r{^(test|spec|features)
|
|
18
|
+
f.match(%r{^(test|spec|features|gemfiles)/|(Appraisals|Gemfile)})
|
|
19
19
|
end
|
|
20
20
|
spec.bindir = 'exe'
|
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
22
22
|
spec.require_paths = ['lib']
|
|
23
23
|
|
|
24
|
-
spec.add_dependency 'activemodel', '>= 4.2', '< 8'
|
|
25
|
-
spec.add_dependency 'activesupport', '>= 4.2', '< 8'
|
|
24
|
+
spec.add_dependency 'activemodel', '>= 4.2', '< 8.1'
|
|
25
|
+
spec.add_dependency 'activesupport', '>= 4.2', '< 8.1'
|
|
26
26
|
|
|
27
27
|
spec.metadata['rubygems_mfa_required'] = 'true'
|
|
28
28
|
|
|
29
|
-
spec.required_ruby_version = '>=
|
|
29
|
+
spec.required_ruby_version = '>= 3.1.0'
|
|
30
30
|
end
|
|
@@ -108,7 +108,7 @@ module BusinessFlow
|
|
|
108
108
|
instrument(:cache, flow) do |payload|
|
|
109
109
|
payload[:cache_hit] = true if payload
|
|
110
110
|
cache_store.fetch(flow.cache_key,
|
|
111
|
-
cache_options.to_store_options(flow)) do
|
|
111
|
+
cache_options.to_store_options(flow)) do # rubocop:disable Lint/UselessDefaultValueArgument
|
|
112
112
|
payload[:cache_hit] = false if payload
|
|
113
113
|
yield
|
|
114
114
|
end
|
|
@@ -45,7 +45,7 @@ module BusinessFlow
|
|
|
45
45
|
if key == :cluster_lock
|
|
46
46
|
ClassMethods.lock_name(self)
|
|
47
47
|
else
|
|
48
|
-
super
|
|
48
|
+
super
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
51
|
|
|
@@ -107,7 +107,7 @@ module BusinessFlow
|
|
|
107
107
|
|
|
108
108
|
def build(parameter_object)
|
|
109
109
|
add_cluster_luck_info_to_result_class
|
|
110
|
-
super
|
|
110
|
+
super
|
|
111
111
|
end
|
|
112
112
|
|
|
113
113
|
def execute(flow)
|
|
@@ -186,11 +186,10 @@ module BusinessFlow
|
|
|
186
186
|
end
|
|
187
187
|
|
|
188
188
|
def self.cleanup(lock, zk_connection)
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
end
|
|
189
|
+
lock&.unlock
|
|
190
|
+
rescue ZK::Exceptions::OperationTimeOut
|
|
191
|
+
# Just let the connection close handle this.
|
|
192
|
+
ensure
|
|
194
193
|
zk_connection&.close!
|
|
195
194
|
end
|
|
196
195
|
|
|
@@ -208,7 +207,7 @@ module BusinessFlow
|
|
|
208
207
|
end
|
|
209
208
|
end
|
|
210
209
|
|
|
211
|
-
def self.with_lock(flow, lock_info, &
|
|
210
|
+
def self.with_lock(flow, lock_info, &)
|
|
212
211
|
unless BusinessFlow::ClusterLock.disabled?
|
|
213
212
|
zk_connection, lock =
|
|
214
213
|
instrumented_acquire_lock(flow, lock_info)
|
data/lib/business_flow/dsl.rb
CHANGED
|
@@ -65,10 +65,10 @@ module BusinessFlow
|
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
# Allows a field to be retrieved from the initialiaztion parameters
|
|
68
|
-
def wants(field, default = nil, opts = {}, &
|
|
68
|
+
def wants(field, default = nil, opts = {}, &)
|
|
69
69
|
internal_name = :"wants_#{field}"
|
|
70
70
|
default = proc {} unless default || block_given?
|
|
71
|
-
uses(internal_name, default, opts, &
|
|
71
|
+
uses(internal_name, default, opts, &)
|
|
72
72
|
inputs.add_wants(ParameterField.new(field, internal_name))
|
|
73
73
|
end
|
|
74
74
|
|
|
@@ -238,7 +238,7 @@ module BusinessFlow
|
|
|
238
238
|
key
|
|
239
239
|
end
|
|
240
240
|
|
|
241
|
-
# Provides the
|
|
241
|
+
# Provides the minimum necessary instance methods to support the use of
|
|
242
242
|
# ActiveMode::Errors, outside of what's provided by ActiveModel::Naming
|
|
243
243
|
module InstanceMethods
|
|
244
244
|
def read_attribute_for_validation(key)
|
|
@@ -270,11 +270,33 @@ module BusinessFlow
|
|
|
270
270
|
klass.step_executor.new(klass.step_queue, self).call
|
|
271
271
|
end
|
|
272
272
|
|
|
273
|
+
def errors
|
|
274
|
+
@errors ||= ActiveModel::Errors.new(self)
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
def errors?
|
|
278
|
+
# We're explicitly using the instance variable here so that if no
|
|
279
|
+
# errors have been created, we don't initialize the error object.
|
|
280
|
+
@errors&.present?
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
def valid?(_context = nil)
|
|
284
|
+
# We're explicitly using the instance variable here so that if no
|
|
285
|
+
# errors have been created, we don't initialize the error object.
|
|
286
|
+
@errors.blank?
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
def invalid?(context = nil)
|
|
290
|
+
!valid?(context)
|
|
291
|
+
end
|
|
292
|
+
|
|
293
|
+
private
|
|
294
|
+
|
|
273
295
|
# Responsible for setting the parameter object and validating inputs.
|
|
274
296
|
# This is a method directly on the object instead of something we
|
|
275
297
|
# handle through instance_eval/exec for performance reasons.
|
|
276
298
|
# :reek:NilCheck This is where we ensure that our needs are non-nil.
|
|
277
|
-
|
|
299
|
+
def _business_flow_dsl_initialize(parameter_object, needs)
|
|
278
300
|
@parameter_object = parameter_object
|
|
279
301
|
needs.each do |need|
|
|
280
302
|
if send(need).nil?
|
|
@@ -286,7 +308,7 @@ module BusinessFlow
|
|
|
286
308
|
end
|
|
287
309
|
|
|
288
310
|
# :reek:NilCheck
|
|
289
|
-
|
|
311
|
+
def _business_flow_parameter_fetch(key)
|
|
290
312
|
value = _business_flow_parameter_inner_fetch(key)
|
|
291
313
|
# We only want to fall back to a default if we were
|
|
292
314
|
# given nil. Other falsy vlues should be directly used.
|
|
@@ -295,7 +317,7 @@ module BusinessFlow
|
|
|
295
317
|
value
|
|
296
318
|
end
|
|
297
319
|
|
|
298
|
-
|
|
320
|
+
def _business_flow_parameter_inner_fetch(key)
|
|
299
321
|
if @parameter_object.is_a?(Hash) && @parameter_object.key?(key)
|
|
300
322
|
@parameter_object[key]
|
|
301
323
|
else
|
|
@@ -305,31 +327,11 @@ module BusinessFlow
|
|
|
305
327
|
nil
|
|
306
328
|
end
|
|
307
329
|
|
|
308
|
-
|
|
330
|
+
def _business_flow_dsl_parameters
|
|
309
331
|
@_business_flow_dsl_parameters ||=
|
|
310
332
|
self.class.inputs.all.to_h { |input| [input, _business_flow_parameter_inner_fetch(input)] }
|
|
311
333
|
end
|
|
312
334
|
|
|
313
|
-
def errors
|
|
314
|
-
@errors ||= ActiveModel::Errors.new(self)
|
|
315
|
-
end
|
|
316
|
-
|
|
317
|
-
def errors?
|
|
318
|
-
# We're explicitly using the instance variable here so that if no
|
|
319
|
-
# errors have been created, we don't initialize the error object.
|
|
320
|
-
@errors&.present?
|
|
321
|
-
end
|
|
322
|
-
|
|
323
|
-
def valid?(_context = nil)
|
|
324
|
-
# We're explicitly using the instance variable here so that if no
|
|
325
|
-
# errors have been created, we don't initialize the error object.
|
|
326
|
-
@errors.blank?
|
|
327
|
-
end
|
|
328
|
-
|
|
329
|
-
def invalid?(context = nil)
|
|
330
|
-
!valid?(context)
|
|
331
|
-
end
|
|
332
|
-
|
|
333
335
|
# Responsible for creating fields on one or more classes and noting the of
|
|
334
336
|
# field
|
|
335
337
|
class FieldList
|
|
@@ -17,7 +17,8 @@ module BusinessFlow
|
|
|
17
17
|
if payload.is_a?(Hash)
|
|
18
18
|
@payload = Step.new(Callable.new(proc { payload }), {})
|
|
19
19
|
elsif payload || blk
|
|
20
|
-
@payload = Step.new(Callable.new(payload || blk),
|
|
20
|
+
@payload = Step.new(Callable.new(payload || blk),
|
|
21
|
+
{ default_output: :instrument_payload }.merge(opts))
|
|
21
22
|
else
|
|
22
23
|
@payload ||= Step.new(Callable.new(proc { {} }), opts)
|
|
23
24
|
end
|
|
@@ -7,7 +7,10 @@ module BusinessFlow
|
|
|
7
7
|
|
|
8
8
|
def execute_step(step)
|
|
9
9
|
i_name = event_name(step)
|
|
10
|
-
i_payload = { flow: flow,
|
|
10
|
+
i_payload = { flow: flow,
|
|
11
|
+
step: step }.merge(
|
|
12
|
+
::BusinessFlow::Instrument::ClassMethods.instrument_payload(flow)
|
|
13
|
+
)
|
|
11
14
|
ActiveSupport::Notifications.instrument(i_name, i_payload) do |payload|
|
|
12
15
|
payload[:step_result] = super
|
|
13
16
|
end
|
|
@@ -22,8 +25,6 @@ module BusinessFlow
|
|
|
22
25
|
"business_flow.step.#{step_event_name(step)}"
|
|
23
26
|
end
|
|
24
27
|
|
|
25
|
-
protected
|
|
26
|
-
|
|
27
28
|
def flow_name
|
|
28
29
|
@flow_name ||= flow.class.instrumentation_name
|
|
29
30
|
end
|
data/lib/business_flow/step.rb
CHANGED
|
@@ -229,8 +229,6 @@ module BusinessFlow
|
|
|
229
229
|
@callable.to_s
|
|
230
230
|
end
|
|
231
231
|
|
|
232
|
-
private
|
|
233
|
-
|
|
234
232
|
PARAMETERS_NO_INPUT = 'parameter_source'
|
|
235
233
|
PARAMETERS_WITH_INPUT =
|
|
236
234
|
'@input_object.parameters_from_source(parameter_source)'
|
|
@@ -244,7 +242,9 @@ module BusinessFlow
|
|
|
244
242
|
else
|
|
245
243
|
CONDITION_FAILED
|
|
246
244
|
end
|
|
247
|
-
)
|
|
245
|
+
).freeze
|
|
246
|
+
|
|
247
|
+
private
|
|
248
248
|
|
|
249
249
|
def update_call_method
|
|
250
250
|
params = @input_object ? PARAMETERS_WITH_INPUT : PARAMETERS_NO_INPUT
|
data/lib/business_flow.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: business_flow
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.21.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alex Scarborough
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
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: activemodel
|
|
@@ -19,7 +18,7 @@ dependencies:
|
|
|
19
18
|
version: '4.2'
|
|
20
19
|
- - "<"
|
|
21
20
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '8'
|
|
21
|
+
version: '8.1'
|
|
23
22
|
type: :runtime
|
|
24
23
|
prerelease: false
|
|
25
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -29,7 +28,7 @@ dependencies:
|
|
|
29
28
|
version: '4.2'
|
|
30
29
|
- - "<"
|
|
31
30
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '8'
|
|
31
|
+
version: '8.1'
|
|
33
32
|
- !ruby/object:Gem::Dependency
|
|
34
33
|
name: activesupport
|
|
35
34
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -39,7 +38,7 @@ dependencies:
|
|
|
39
38
|
version: '4.2'
|
|
40
39
|
- - "<"
|
|
41
40
|
- !ruby/object:Gem::Version
|
|
42
|
-
version: '8'
|
|
41
|
+
version: '8.1'
|
|
43
42
|
type: :runtime
|
|
44
43
|
prerelease: false
|
|
45
44
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -49,14 +48,14 @@ dependencies:
|
|
|
49
48
|
version: '4.2'
|
|
50
49
|
- - "<"
|
|
51
50
|
- !ruby/object:Gem::Version
|
|
52
|
-
version: '8'
|
|
53
|
-
description:
|
|
51
|
+
version: '8.1'
|
|
54
52
|
email:
|
|
55
53
|
- alex@teak.io
|
|
56
54
|
executables: []
|
|
57
55
|
extensions: []
|
|
58
56
|
extra_rdoc_files: []
|
|
59
57
|
files:
|
|
58
|
+
- ".circleci/config.yml"
|
|
60
59
|
- ".gitignore"
|
|
61
60
|
- ".reek.yml"
|
|
62
61
|
- ".rspec"
|
|
@@ -64,8 +63,7 @@ files:
|
|
|
64
63
|
- ".ruby-gemset"
|
|
65
64
|
- ".ruby-version"
|
|
66
65
|
- ".travis.yml"
|
|
67
|
-
-
|
|
68
|
-
- Gemfile.lock
|
|
66
|
+
- CHANGELOG.md
|
|
69
67
|
- LICENSE.txt
|
|
70
68
|
- README.md
|
|
71
69
|
- Rakefile
|
|
@@ -93,7 +91,6 @@ licenses:
|
|
|
93
91
|
- MIT
|
|
94
92
|
metadata:
|
|
95
93
|
rubygems_mfa_required: 'true'
|
|
96
|
-
post_install_message:
|
|
97
94
|
rdoc_options: []
|
|
98
95
|
require_paths:
|
|
99
96
|
- lib
|
|
@@ -101,15 +98,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
101
98
|
requirements:
|
|
102
99
|
- - ">="
|
|
103
100
|
- !ruby/object:Gem::Version
|
|
104
|
-
version:
|
|
101
|
+
version: 3.1.0
|
|
105
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
103
|
requirements:
|
|
107
104
|
- - ">="
|
|
108
105
|
- !ruby/object:Gem::Version
|
|
109
106
|
version: '0'
|
|
110
107
|
requirements: []
|
|
111
|
-
rubygems_version: 3.
|
|
112
|
-
signing_key:
|
|
108
|
+
rubygems_version: 3.7.2
|
|
113
109
|
specification_version: 4
|
|
114
110
|
summary: General purpose management of service object flows
|
|
115
111
|
test_files: []
|
data/Gemfile
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
source 'https://rubygems.org'
|
|
4
|
-
|
|
5
|
-
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
|
6
|
-
|
|
7
|
-
# Specify your gem's dependencies in business_flow.gemspec
|
|
8
|
-
gemspec
|
|
9
|
-
|
|
10
|
-
gem 'pry', '~> 0.14.2'
|
|
11
|
-
gem 'rake', '~> 13.0'
|
|
12
|
-
gem 'reek', '~> 6.1'
|
|
13
|
-
gem 'retryable', '~> 3.0.4'
|
|
14
|
-
gem 'rspec', '~> 3.0'
|
|
15
|
-
gem 'rubocop', '~> 1.59.0'
|
|
16
|
-
gem 'rubocop-rspec', '~> 2.29.1'
|
|
17
|
-
gem 'simplecov', '~> 0.22.0'
|
|
18
|
-
gem 'timecop', '~> 0.9.1'
|
data/Gemfile.lock
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
PATH
|
|
2
|
-
remote: .
|
|
3
|
-
specs:
|
|
4
|
-
business_flow (0.19.6)
|
|
5
|
-
activemodel (>= 4.2, < 8)
|
|
6
|
-
activesupport (>= 4.2, < 8)
|
|
7
|
-
|
|
8
|
-
GEM
|
|
9
|
-
remote: https://rubygems.org/
|
|
10
|
-
specs:
|
|
11
|
-
activemodel (7.1.4)
|
|
12
|
-
activesupport (= 7.1.4)
|
|
13
|
-
activesupport (7.1.4)
|
|
14
|
-
base64
|
|
15
|
-
bigdecimal
|
|
16
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
17
|
-
connection_pool (>= 2.2.5)
|
|
18
|
-
drb
|
|
19
|
-
i18n (>= 1.6, < 2)
|
|
20
|
-
minitest (>= 5.1)
|
|
21
|
-
mutex_m
|
|
22
|
-
tzinfo (~> 2.0)
|
|
23
|
-
ast (2.4.2)
|
|
24
|
-
base64 (0.2.0)
|
|
25
|
-
bigdecimal (3.1.8)
|
|
26
|
-
coderay (1.1.3)
|
|
27
|
-
concurrent-ruby (1.3.4)
|
|
28
|
-
connection_pool (2.4.1)
|
|
29
|
-
diff-lcs (1.5.1)
|
|
30
|
-
docile (1.4.1)
|
|
31
|
-
drb (2.2.1)
|
|
32
|
-
i18n (1.14.6)
|
|
33
|
-
concurrent-ruby (~> 1.0)
|
|
34
|
-
json (2.7.2)
|
|
35
|
-
kwalify (0.7.2)
|
|
36
|
-
language_server-protocol (3.17.0.3)
|
|
37
|
-
method_source (1.1.0)
|
|
38
|
-
minitest (5.25.1)
|
|
39
|
-
mutex_m (0.2.0)
|
|
40
|
-
parallel (1.26.3)
|
|
41
|
-
parser (3.2.2.4)
|
|
42
|
-
ast (~> 2.4.1)
|
|
43
|
-
racc
|
|
44
|
-
pry (0.14.2)
|
|
45
|
-
coderay (~> 1.1)
|
|
46
|
-
method_source (~> 1.0)
|
|
47
|
-
racc (1.8.1)
|
|
48
|
-
rainbow (3.1.1)
|
|
49
|
-
rake (13.2.1)
|
|
50
|
-
reek (6.1.4)
|
|
51
|
-
kwalify (~> 0.7.0)
|
|
52
|
-
parser (~> 3.2.0)
|
|
53
|
-
rainbow (>= 2.0, < 4.0)
|
|
54
|
-
regexp_parser (2.9.2)
|
|
55
|
-
retryable (3.0.5)
|
|
56
|
-
rexml (3.3.7)
|
|
57
|
-
rspec (3.13.0)
|
|
58
|
-
rspec-core (~> 3.13.0)
|
|
59
|
-
rspec-expectations (~> 3.13.0)
|
|
60
|
-
rspec-mocks (~> 3.13.0)
|
|
61
|
-
rspec-core (3.13.1)
|
|
62
|
-
rspec-support (~> 3.13.0)
|
|
63
|
-
rspec-expectations (3.13.3)
|
|
64
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
65
|
-
rspec-support (~> 3.13.0)
|
|
66
|
-
rspec-mocks (3.13.1)
|
|
67
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
68
|
-
rspec-support (~> 3.13.0)
|
|
69
|
-
rspec-support (3.13.1)
|
|
70
|
-
rubocop (1.59.0)
|
|
71
|
-
json (~> 2.3)
|
|
72
|
-
language_server-protocol (>= 3.17.0)
|
|
73
|
-
parallel (~> 1.10)
|
|
74
|
-
parser (>= 3.2.2.4)
|
|
75
|
-
rainbow (>= 2.2.2, < 4.0)
|
|
76
|
-
regexp_parser (>= 1.8, < 3.0)
|
|
77
|
-
rexml (>= 3.2.5, < 4.0)
|
|
78
|
-
rubocop-ast (>= 1.30.0, < 2.0)
|
|
79
|
-
ruby-progressbar (~> 1.7)
|
|
80
|
-
unicode-display_width (>= 2.4.0, < 3.0)
|
|
81
|
-
rubocop-ast (1.30.0)
|
|
82
|
-
parser (>= 3.2.1.0)
|
|
83
|
-
rubocop-capybara (2.21.0)
|
|
84
|
-
rubocop (~> 1.41)
|
|
85
|
-
rubocop-factory_bot (2.26.0)
|
|
86
|
-
rubocop (~> 1.41)
|
|
87
|
-
rubocop-rspec (2.29.2)
|
|
88
|
-
rubocop (~> 1.40)
|
|
89
|
-
rubocop-capybara (~> 2.17)
|
|
90
|
-
rubocop-factory_bot (~> 2.22)
|
|
91
|
-
rubocop-rspec_rails (~> 2.28)
|
|
92
|
-
rubocop-rspec_rails (2.29.0)
|
|
93
|
-
rubocop (~> 1.40)
|
|
94
|
-
ruby-progressbar (1.13.0)
|
|
95
|
-
simplecov (0.22.0)
|
|
96
|
-
docile (~> 1.1)
|
|
97
|
-
simplecov-html (~> 0.11)
|
|
98
|
-
simplecov_json_formatter (~> 0.1)
|
|
99
|
-
simplecov-html (0.13.1)
|
|
100
|
-
simplecov_json_formatter (0.1.4)
|
|
101
|
-
timecop (0.9.10)
|
|
102
|
-
tzinfo (2.0.6)
|
|
103
|
-
concurrent-ruby (~> 1.0)
|
|
104
|
-
unicode-display_width (2.6.0)
|
|
105
|
-
|
|
106
|
-
PLATFORMS
|
|
107
|
-
ruby
|
|
108
|
-
|
|
109
|
-
DEPENDENCIES
|
|
110
|
-
business_flow!
|
|
111
|
-
pry (~> 0.14.2)
|
|
112
|
-
rake (~> 13.0)
|
|
113
|
-
reek (~> 6.1)
|
|
114
|
-
retryable (~> 3.0.4)
|
|
115
|
-
rspec (~> 3.0)
|
|
116
|
-
rubocop (~> 1.59.0)
|
|
117
|
-
rubocop-rspec (~> 2.29.1)
|
|
118
|
-
simplecov (~> 0.22.0)
|
|
119
|
-
timecop (~> 0.9.1)
|
|
120
|
-
|
|
121
|
-
BUNDLED WITH
|
|
122
|
-
2.3.6
|