flows 0.3.0 → 0.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 +4 -4
- data/.github/workflows/{build.yml → test.yml} +5 -10
- data/.gitignore +1 -0
- data/.reek.yml +42 -0
- data/.rubocop.yml +20 -7
- data/.ruby-version +1 -1
- data/.yardopts +1 -0
- data/CHANGELOG.md +42 -0
- data/Gemfile +0 -6
- data/Gemfile.lock +139 -74
- data/README.md +158 -364
- data/Rakefile +35 -1
- data/bin/.rubocop.yml +5 -0
- data/bin/all_the_errors +47 -0
- data/bin/benchmark +73 -105
- data/bin/benchmark_cli/compare.rb +118 -0
- data/bin/benchmark_cli/compare/a_plus_b.rb +22 -0
- data/bin/benchmark_cli/compare/base.rb +45 -0
- data/bin/benchmark_cli/compare/command.rb +47 -0
- data/bin/benchmark_cli/compare/ten_steps.rb +22 -0
- data/bin/benchmark_cli/examples.rb +23 -0
- data/bin/benchmark_cli/examples/.rubocop.yml +19 -0
- data/bin/benchmark_cli/examples/a_plus_b/dry_do.rb +23 -0
- data/bin/benchmark_cli/examples/a_plus_b/dry_transaction.rb +17 -0
- data/bin/benchmark_cli/examples/a_plus_b/flows_do.rb +22 -0
- data/bin/benchmark_cli/examples/a_plus_b/flows_railway.rb +13 -0
- data/bin/benchmark_cli/examples/a_plus_b/flows_scp.rb +13 -0
- data/bin/benchmark_cli/examples/a_plus_b/flows_scp_mut.rb +13 -0
- data/bin/benchmark_cli/examples/a_plus_b/flows_scp_oc.rb +21 -0
- data/bin/benchmark_cli/examples/a_plus_b/trailblazer.rb +15 -0
- data/bin/benchmark_cli/examples/ten_steps/dry_do.rb +70 -0
- data/bin/benchmark_cli/examples/ten_steps/dry_transaction.rb +64 -0
- data/bin/benchmark_cli/examples/ten_steps/flows_do.rb +69 -0
- data/bin/benchmark_cli/examples/ten_steps/flows_railway.rb +58 -0
- data/bin/benchmark_cli/examples/ten_steps/flows_scp.rb +58 -0
- data/bin/benchmark_cli/examples/ten_steps/flows_scp_mut.rb +58 -0
- data/bin/benchmark_cli/examples/ten_steps/flows_scp_oc.rb +66 -0
- data/bin/benchmark_cli/examples/ten_steps/trailblazer.rb +60 -0
- data/bin/benchmark_cli/helpers.rb +12 -0
- data/bin/benchmark_cli/ruby.rb +15 -0
- data/bin/benchmark_cli/ruby/command.rb +38 -0
- data/bin/benchmark_cli/ruby/method_exec.rb +71 -0
- data/bin/benchmark_cli/ruby/self_class.rb +69 -0
- data/bin/benchmark_cli/ruby/structs.rb +90 -0
- data/bin/console +1 -0
- data/bin/docserver +7 -0
- data/bin/errors +118 -0
- data/bin/errors_cli/contract_error_demo.rb +49 -0
- data/bin/errors_cli/di_error_demo.rb +38 -0
- data/bin/errors_cli/flows_router_error_demo.rb +15 -0
- data/bin/errors_cli/oc_error_demo.rb +40 -0
- data/bin/errors_cli/railway_error_demo.rb +10 -0
- data/bin/errors_cli/result_error_demo.rb +13 -0
- data/bin/errors_cli/scp_error_demo.rb +17 -0
- data/docs/README.md +2 -186
- data/docs/_sidebar.md +0 -24
- data/docs/index.html +1 -1
- data/flows.gemspec +25 -2
- data/forspell.dict +9 -0
- data/lefthook.yml +9 -0
- data/lib/flows.rb +11 -5
- data/lib/flows/contract.rb +402 -0
- data/lib/flows/contract/array.rb +55 -0
- data/lib/flows/contract/case_eq.rb +41 -0
- data/lib/flows/contract/compose.rb +77 -0
- data/lib/flows/contract/either.rb +53 -0
- data/lib/flows/contract/error.rb +25 -0
- data/lib/flows/contract/hash.rb +75 -0
- data/lib/flows/contract/hash_of.rb +70 -0
- data/lib/flows/contract/helpers.rb +22 -0
- data/lib/flows/contract/predicate.rb +34 -0
- data/lib/flows/contract/transformer.rb +50 -0
- data/lib/flows/contract/tuple.rb +70 -0
- data/lib/flows/flow.rb +75 -7
- data/lib/flows/flow/node.rb +131 -0
- data/lib/flows/flow/router.rb +25 -0
- data/lib/flows/flow/router/custom.rb +54 -0
- data/lib/flows/flow/router/errors.rb +11 -0
- data/lib/flows/flow/router/simple.rb +20 -0
- data/lib/flows/plugin.rb +13 -0
- data/lib/flows/plugin/dependency_injector.rb +159 -0
- data/lib/flows/plugin/dependency_injector/dependency.rb +24 -0
- data/lib/flows/plugin/dependency_injector/dependency_definition.rb +16 -0
- data/lib/flows/plugin/dependency_injector/dependency_list.rb +57 -0
- data/lib/flows/plugin/dependency_injector/errors.rb +58 -0
- data/lib/flows/plugin/implicit_init.rb +45 -0
- data/lib/flows/plugin/output_contract.rb +84 -0
- data/lib/flows/plugin/output_contract/dsl.rb +36 -0
- data/lib/flows/plugin/output_contract/errors.rb +74 -0
- data/lib/flows/plugin/output_contract/wrapper.rb +53 -0
- data/lib/flows/railway.rb +140 -37
- data/lib/flows/railway/dsl.rb +8 -19
- data/lib/flows/railway/errors.rb +8 -12
- data/lib/flows/railway/step.rb +24 -0
- data/lib/flows/railway/step_list.rb +38 -0
- data/lib/flows/result.rb +188 -2
- data/lib/flows/result/do.rb +160 -16
- data/lib/flows/result/err.rb +12 -6
- data/lib/flows/result/errors.rb +29 -17
- data/lib/flows/result/helpers.rb +25 -3
- data/lib/flows/result/ok.rb +12 -6
- data/lib/flows/shared_context_pipeline.rb +216 -0
- data/lib/flows/shared_context_pipeline/dsl.rb +63 -0
- data/lib/flows/shared_context_pipeline/errors.rb +17 -0
- data/lib/flows/shared_context_pipeline/mutation_step.rb +31 -0
- data/lib/flows/shared_context_pipeline/router_definition.rb +21 -0
- data/lib/flows/shared_context_pipeline/step.rb +46 -0
- data/lib/flows/shared_context_pipeline/track.rb +67 -0
- data/lib/flows/shared_context_pipeline/track_list.rb +46 -0
- data/lib/flows/util.rb +17 -0
- data/lib/flows/util/inheritable_singleton_vars.rb +79 -0
- data/lib/flows/util/inheritable_singleton_vars/dup_strategy.rb +109 -0
- data/lib/flows/util/inheritable_singleton_vars/isolation_strategy.rb +104 -0
- data/lib/flows/util/prepend_to_class.rb +145 -0
- data/lib/flows/version.rb +1 -1
- metadata +233 -37
- data/bin/demo +0 -66
- data/bin/examples.rb +0 -195
- data/bin/profile_10steps +0 -106
- data/bin/ruby_benchmarks +0 -26
- data/docs/CNAME +0 -1
- data/docs/contributing/benchmarks_profiling.md +0 -3
- data/docs/contributing/local_development.md +0 -3
- data/docs/flow/direct_usage.md +0 -3
- data/docs/flow/general_idea.md +0 -3
- data/docs/operation/basic_usage.md +0 -1
- data/docs/operation/inject_steps.md +0 -3
- data/docs/operation/lambda_steps.md +0 -3
- data/docs/operation/result_shapes.md +0 -3
- data/docs/operation/routing_tracks.md +0 -3
- data/docs/operation/wrapping_steps.md +0 -3
- data/docs/overview/performance.md +0 -336
- data/docs/railway/basic_usage.md +0 -232
- data/docs/result_objects/basic_usage.md +0 -196
- data/docs/result_objects/do_notation.md +0 -139
- data/lib/flows/implicit_build.rb +0 -16
- data/lib/flows/node.rb +0 -27
- data/lib/flows/operation.rb +0 -55
- data/lib/flows/operation/builder.rb +0 -130
- data/lib/flows/operation/builder/build_router.rb +0 -37
- data/lib/flows/operation/dsl.rb +0 -93
- data/lib/flows/operation/errors.rb +0 -75
- data/lib/flows/operation/executor.rb +0 -78
- data/lib/flows/railway/builder.rb +0 -68
- data/lib/flows/railway/executor.rb +0 -23
- data/lib/flows/result_router.rb +0 -14
- data/lib/flows/router.rb +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3408a7cfa09415262d76e3cdc1d2d28529103928bbbc379dc0c02a14b1f25eee
|
4
|
+
data.tar.gz: 55b10a5f99d6c0b33185a9e0ba193ab39abd3f43ae88b39b5cb7b48c30fbe23d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23ef64c88317d77233cf9eb837d3318a73523fd8ac270ec7166eb42c57b0310a015af887bab0018423290eba49f7fb9d735b4c079940bbb1c2cb394857155779
|
7
|
+
data.tar.gz: fa7baaa93dc8836ab470e873624feaa15a3a6a29a25e483d2efe2b34e228bb2ad88c1c31ed0905c5635aa51b8cb9760fcd76bc2fdc62806ff61ff72eba737e6d
|
@@ -1,4 +1,4 @@
|
|
1
|
-
name:
|
1
|
+
name: Test
|
2
2
|
|
3
3
|
on:
|
4
4
|
push:
|
@@ -11,7 +11,7 @@ on:
|
|
11
11
|
- cron: 0 2 * * 1-5
|
12
12
|
|
13
13
|
jobs:
|
14
|
-
|
14
|
+
test:
|
15
15
|
runs-on: ubuntu-latest
|
16
16
|
strategy:
|
17
17
|
fail-fast: false
|
@@ -19,6 +19,7 @@ jobs:
|
|
19
19
|
ruby:
|
20
20
|
- 2.5.x
|
21
21
|
- 2.6.x
|
22
|
+
# - 2.7.x
|
22
23
|
steps:
|
23
24
|
- uses: actions/checkout@v1
|
24
25
|
- name: Set up Ruby
|
@@ -31,13 +32,7 @@ jobs:
|
|
31
32
|
run: sudo apt-get install hunspell
|
32
33
|
- name: Install Deps
|
33
34
|
run: bundle install --jobs 4 --retry 3
|
34
|
-
- name:
|
35
|
-
run: bundle exec rubocop
|
36
|
-
- name: RSpec
|
35
|
+
- name: Test
|
37
36
|
env:
|
38
37
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
39
|
-
run: bundle exec
|
40
|
-
- name: Markdown Linter (docs)
|
41
|
-
run: bundle exec mdl docs/**/*.md README.md
|
42
|
-
- name: Spelling Check (docs & code)
|
43
|
-
run: bundle exec forspell
|
38
|
+
run: bundle exec rake
|
data/.gitignore
CHANGED
data/.reek.yml
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
# default config: https://github.com/troessner/reek/blob/master/docs/defaults.reek.yml
|
2
|
+
# detectors' docs: https://github.com/troessner/reek/tree/master/docs
|
3
|
+
---
|
4
|
+
exclude_paths:
|
5
|
+
- 'bin/'
|
6
|
+
- 'spec/'
|
7
|
+
|
8
|
+
detectors:
|
9
|
+
LongParameterList:
|
10
|
+
enabled: true
|
11
|
+
exclude: []
|
12
|
+
max_params: 4 # +1 to default value
|
13
|
+
overrides:
|
14
|
+
initialize:
|
15
|
+
max_params: 6 # +1 to default value
|
16
|
+
ModuleInitialize:
|
17
|
+
enabled: false
|
18
|
+
TooManyInstanceVariables:
|
19
|
+
enabled: true
|
20
|
+
exclude: []
|
21
|
+
max_instance_variables: 5 # +1 to default value
|
22
|
+
DataClump:
|
23
|
+
exclude:
|
24
|
+
- Flows::Result::Helpers
|
25
|
+
IrresponsibleModule:
|
26
|
+
exclude:
|
27
|
+
- Flows::SharedContextPipeline
|
28
|
+
FeatureEnvy:
|
29
|
+
exclude:
|
30
|
+
- Flows::SharedContextPipeline#call
|
31
|
+
- Flows::Contract # too many false positives here
|
32
|
+
TooManyStatements:
|
33
|
+
exclude:
|
34
|
+
- Flows::SharedContextPipeline#call
|
35
|
+
- initialize
|
36
|
+
DuplicateMethodCall:
|
37
|
+
exclude:
|
38
|
+
- Flows::SharedContextPipeline#call
|
39
|
+
- 'length'
|
40
|
+
MissingSafeMethod:
|
41
|
+
exclude:
|
42
|
+
- Flows::Contract
|
data/.rubocop.yml
CHANGED
@@ -4,9 +4,18 @@ require:
|
|
4
4
|
- rubocop-md
|
5
5
|
|
6
6
|
AllCops:
|
7
|
-
TargetRubyVersion: 2.
|
7
|
+
TargetRubyVersion: 2.7
|
8
8
|
|
9
|
-
|
9
|
+
Style/HashEachMethods:
|
10
|
+
Enabled: true
|
11
|
+
|
12
|
+
Style/HashTransformKeys:
|
13
|
+
Enabled: true
|
14
|
+
|
15
|
+
Style/HashTransformValues:
|
16
|
+
Enabled: true
|
17
|
+
|
18
|
+
Layout/LineLength:
|
10
19
|
Max: 120
|
11
20
|
|
12
21
|
Metrics/BlockLength:
|
@@ -22,9 +31,10 @@ Metrics/ParameterLists:
|
|
22
31
|
Style/WhileUntilModifier:
|
23
32
|
Enabled: false
|
24
33
|
|
25
|
-
Naming/
|
34
|
+
Naming/MethodParameterName:
|
26
35
|
Exclude:
|
27
36
|
- '**/*.md'
|
37
|
+
- 'spec/**/*'
|
28
38
|
|
29
39
|
Style/MixinUsage:
|
30
40
|
Exclude:
|
@@ -38,10 +48,13 @@ Lint/UnusedBlockArgument:
|
|
38
48
|
Exclude:
|
39
49
|
- '**/*.md'
|
40
50
|
|
41
|
-
|
51
|
+
Style/CaseEquality:
|
42
52
|
Exclude:
|
43
|
-
- '
|
53
|
+
- 'lib/flows/contract/**/*'
|
54
|
+
|
55
|
+
Naming/RescuedExceptionsVariableName:
|
56
|
+
PreferredName: err
|
44
57
|
|
45
|
-
|
58
|
+
Style/Documentation:
|
46
59
|
Exclude:
|
47
|
-
- '
|
60
|
+
- 'lib/flows/shared_context_pipeline/step.rb' # false positive here
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.6.
|
1
|
+
2.6.5
|
data/.yardopts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--markup markdown
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
|
+
|
8
|
+
Types of changes:
|
9
|
+
|
10
|
+
* _Added_ - for new features.
|
11
|
+
* _Changed_ - for changes in existing functionality.
|
12
|
+
* _Deprecated_ - for soon-to-be removed features.
|
13
|
+
* _Removed_ - for now removed features.
|
14
|
+
* _Fixed_ -- for any bug fixes.
|
15
|
+
* _Security_ - in case of vulnerabilities.
|
16
|
+
|
17
|
+
## [Unreleased]
|
18
|
+
|
19
|
+
## [0.4.0] - 2020-04-21
|
20
|
+
|
21
|
+
### Added
|
22
|
+
|
23
|
+
* `Flows::Contract` - type contracts with specific transformation feature.
|
24
|
+
* `Flows::Flow` - fast and lightweight logic execution engine, designed for
|
25
|
+
internal usage and library writers.
|
26
|
+
* `Flows::Plugin::DependencyInjector` - simple dependency injection plugin for your classes
|
27
|
+
* `Flows::Plugin::ImplicitInit` - allows to use `MyClass.call` instead of
|
28
|
+
`MyClass.new.call`, an class instance will be created once.
|
29
|
+
* `Flows::Plugin::OutputContract` - plugin for output type checks and
|
30
|
+
transformations for service objects which return `Flows::Result`.
|
31
|
+
* `Flows::Railway` - stupid simple implementation of the railway pattern.
|
32
|
+
* `Flows::Result` - general purpose Result Object designed after Rust Result type.
|
33
|
+
* `Flows::Result::Do` - do-notation for Result Objects.
|
34
|
+
* `Flows::SharedContextPipeline` - much more flexible adoption of the railway
|
35
|
+
pattern for Ruby.
|
36
|
+
* `Flows::Util::InheritableSingletonVars` - allows to define behavior for
|
37
|
+
singleton variables in the context of inheritance.
|
38
|
+
* `Flows::Util::PrependToClass` - allows to prepend some module to class even if
|
39
|
+
target module did not included directly into class.
|
40
|
+
|
41
|
+
[unreleased]: https://github.com/ffloyd/flows/compare/v0.4.0...HEAD
|
42
|
+
[0.4.0]: https://github.com/ffloyd/flows/compare/v0.3.0...v0.4.0
|
data/Gemfile
CHANGED
@@ -2,9 +2,3 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in flows.gemspec
|
4
4
|
gemspec
|
5
|
-
|
6
|
-
# temporary dev dependencies,
|
7
|
-
# move it to gemspec after PRs will be merged into realesed version of a gem
|
8
|
-
group :development do
|
9
|
-
gem 'mdl', github: 'ffloyd/markdownlint', branch: 'update-kramdown-dep'
|
10
|
-
end
|
data/Gemfile.lock
CHANGED
@@ -1,50 +1,53 @@
|
|
1
|
-
GIT
|
2
|
-
remote: git://github.com/ffloyd/markdownlint.git
|
3
|
-
revision: 801cb12f645d894e0d262bb4908d8086b6dd23bc
|
4
|
-
branch: update-kramdown-dep
|
5
|
-
specs:
|
6
|
-
mdl (0.5.0)
|
7
|
-
kramdown (~> 2.0)
|
8
|
-
kramdown-parser-gfm (~> 1.0)
|
9
|
-
mixlib-cli (~> 1.7, >= 1.7.0)
|
10
|
-
mixlib-config (~> 2.2, >= 2.2.1)
|
11
|
-
|
12
1
|
PATH
|
13
2
|
remote: .
|
14
3
|
specs:
|
15
|
-
flows (0.
|
4
|
+
flows (0.4.0)
|
16
5
|
|
17
6
|
GEM
|
18
7
|
remote: https://rubygems.org/
|
19
8
|
specs:
|
20
9
|
ast (2.4.0)
|
21
|
-
|
10
|
+
awesome_print (1.8.0)
|
11
|
+
axiom-types (0.1.1)
|
12
|
+
descendants_tracker (~> 0.0.4)
|
13
|
+
ice_nine (~> 0.11.0)
|
14
|
+
thread_safe (~> 0.3, >= 0.3.1)
|
15
|
+
backports (3.17.0)
|
22
16
|
benchmark-ips (2.7.2)
|
23
|
-
|
17
|
+
codeclimate-engine-rb (0.4.1)
|
18
|
+
virtus (~> 1.0)
|
19
|
+
codecov (0.1.16)
|
24
20
|
json
|
25
21
|
simplecov
|
26
22
|
url
|
27
23
|
coderay (1.1.2)
|
28
|
-
|
29
|
-
|
24
|
+
coercible (1.0.0)
|
25
|
+
descendants_tracker (~> 0.0.1)
|
26
|
+
concurrent-ruby (1.1.6)
|
27
|
+
crass (1.0.6)
|
28
|
+
declarative (0.0.10)
|
29
|
+
declarative-option (0.1.0)
|
30
|
+
descendants_tracker (0.0.4)
|
31
|
+
thread_safe (~> 0.3, >= 0.3.1)
|
30
32
|
diff-lcs (1.3)
|
31
33
|
docile (1.3.2)
|
32
|
-
dry-configurable (0.
|
34
|
+
dry-configurable (0.11.5)
|
33
35
|
concurrent-ruby (~> 1.0)
|
34
36
|
dry-core (~> 0.4, >= 0.4.7)
|
37
|
+
dry-equalizer (~> 0.2)
|
35
38
|
dry-container (0.7.2)
|
36
39
|
concurrent-ruby (~> 1.0)
|
37
40
|
dry-configurable (~> 0.1, >= 0.1.3)
|
38
41
|
dry-core (0.4.9)
|
39
42
|
concurrent-ruby (~> 1.0)
|
40
|
-
dry-equalizer (0.
|
43
|
+
dry-equalizer (0.3.0)
|
41
44
|
dry-events (0.2.0)
|
42
45
|
concurrent-ruby (~> 1.0)
|
43
46
|
dry-core (~> 0.4)
|
44
47
|
dry-equalizer (~> 0.2)
|
45
|
-
dry-matcher (0.8.
|
48
|
+
dry-matcher (0.8.3)
|
46
49
|
dry-core (>= 0.4.8)
|
47
|
-
dry-monads (1.3.
|
50
|
+
dry-monads (1.3.5)
|
48
51
|
concurrent-ruby (~> 1.0)
|
49
52
|
dry-core (~> 0.4, >= 0.4.4)
|
50
53
|
dry-equalizer
|
@@ -53,9 +56,10 @@ GEM
|
|
53
56
|
dry-events (>= 0.1.0)
|
54
57
|
dry-matcher (>= 0.7.0)
|
55
58
|
dry-monads (>= 0.4.0)
|
59
|
+
equalizer (0.0.11)
|
56
60
|
equatable (0.6.1)
|
57
|
-
ffi (1.
|
58
|
-
ffi-hunspell (0.
|
61
|
+
ffi (1.12.2)
|
62
|
+
ffi-hunspell (0.5.0)
|
59
63
|
ffi (~> 1.0)
|
60
64
|
forspell (0.0.8)
|
61
65
|
backports (~> 3.0)
|
@@ -69,97 +73,156 @@ GEM
|
|
69
73
|
sanitize (~> 5.0)
|
70
74
|
slop (~> 4.6)
|
71
75
|
yard
|
72
|
-
|
73
|
-
|
74
|
-
|
76
|
+
gli (2.19.0)
|
77
|
+
highline (2.0.3)
|
78
|
+
hirb (0.7.3)
|
79
|
+
ice_nine (0.11.2)
|
80
|
+
inch (0.8.0)
|
81
|
+
pry
|
82
|
+
sparkr (>= 0.2.0)
|
83
|
+
term-ansicolor
|
84
|
+
yard (~> 0.9.12)
|
85
|
+
jaro_winkler (1.5.4)
|
86
|
+
json (2.3.0)
|
87
|
+
kalibera (0.1)
|
88
|
+
memoist (~> 0.11.0)
|
89
|
+
rbzip2 (~> 0.2.0)
|
75
90
|
kramdown (2.1.0)
|
76
91
|
kramdown-parser-gfm (1.1.0)
|
77
92
|
kramdown (~> 2.0)
|
78
|
-
|
93
|
+
kwalify (0.7.2)
|
94
|
+
mdl (0.9.0)
|
95
|
+
kramdown (~> 2.0)
|
96
|
+
kramdown-parser-gfm (~> 1.0)
|
97
|
+
mixlib-cli (~> 2.1, >= 2.1.1)
|
98
|
+
mixlib-config (>= 2.2.1, < 4)
|
99
|
+
memoist (0.11.0)
|
100
|
+
method_source (1.0.0)
|
79
101
|
mini_portile2 (2.4.0)
|
80
|
-
mixlib-cli (1.
|
81
|
-
mixlib-config (
|
102
|
+
mixlib-cli (2.1.5)
|
103
|
+
mixlib-config (3.0.6)
|
82
104
|
tomlrb
|
83
|
-
nokogiri (1.10.
|
105
|
+
nokogiri (1.10.9)
|
84
106
|
mini_portile2 (~> 2.4.0)
|
85
|
-
nokogumbo (2.0.
|
107
|
+
nokogumbo (2.0.2)
|
86
108
|
nokogiri (~> 1.8, >= 1.8.4)
|
87
|
-
parallel (1.
|
88
|
-
parser (2.
|
109
|
+
parallel (1.19.1)
|
110
|
+
parser (2.7.0.5)
|
89
111
|
ast (~> 2.4.0)
|
90
112
|
pastel (0.7.3)
|
91
113
|
equatable (~> 0.6)
|
92
114
|
tty-color (~> 0.5)
|
93
|
-
pry (0.
|
94
|
-
coderay (~> 1.1
|
95
|
-
method_source (~>
|
115
|
+
pry (0.13.0)
|
116
|
+
coderay (~> 1.1)
|
117
|
+
method_source (~> 1.0)
|
118
|
+
psych (3.1.0)
|
96
119
|
rainbow (3.0.0)
|
97
|
-
rake (
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
120
|
+
rake (13.0.1)
|
121
|
+
rbzip2 (0.2.0)
|
122
|
+
reek (5.6.0)
|
123
|
+
codeclimate-engine-rb (~> 0.4.0)
|
124
|
+
kwalify (~> 0.7.0)
|
125
|
+
parser (>= 2.5.0.0, < 2.8, != 2.5.1.1)
|
126
|
+
psych (~> 3.1.0)
|
127
|
+
rainbow (>= 2.0, < 4.0)
|
128
|
+
representable (3.0.4)
|
129
|
+
declarative (< 0.1.0)
|
130
|
+
declarative-option (< 0.2.0)
|
131
|
+
uber (< 0.2.0)
|
132
|
+
rexml (3.2.4)
|
133
|
+
rspec (3.9.0)
|
134
|
+
rspec-core (~> 3.9.0)
|
135
|
+
rspec-expectations (~> 3.9.0)
|
136
|
+
rspec-mocks (~> 3.9.0)
|
137
|
+
rspec-core (3.9.1)
|
138
|
+
rspec-support (~> 3.9.1)
|
139
|
+
rspec-expectations (3.9.1)
|
105
140
|
diff-lcs (>= 1.2.0, < 2.0)
|
106
|
-
rspec-support (~> 3.
|
107
|
-
rspec-mocks (3.
|
141
|
+
rspec-support (~> 3.9.0)
|
142
|
+
rspec-mocks (3.9.1)
|
108
143
|
diff-lcs (>= 1.2.0, < 2.0)
|
109
|
-
rspec-support (~> 3.
|
110
|
-
rspec-support (3.
|
111
|
-
rubocop (0.
|
144
|
+
rspec-support (~> 3.9.0)
|
145
|
+
rspec-support (3.9.2)
|
146
|
+
rubocop (0.80.1)
|
112
147
|
jaro_winkler (~> 1.5.1)
|
113
148
|
parallel (~> 1.10)
|
114
|
-
parser (>= 2.
|
149
|
+
parser (>= 2.7.0.1)
|
115
150
|
rainbow (>= 2.2.2, < 4.0)
|
151
|
+
rexml
|
116
152
|
ruby-progressbar (~> 1.7)
|
117
153
|
unicode-display_width (>= 1.4.0, < 1.7)
|
118
|
-
rubocop-md (0.3.
|
154
|
+
rubocop-md (0.3.2)
|
119
155
|
rubocop (~> 0.60)
|
120
|
-
rubocop-performance (1.
|
156
|
+
rubocop-performance (1.5.2)
|
121
157
|
rubocop (>= 0.71.0)
|
122
|
-
rubocop-rspec (1.
|
123
|
-
rubocop (>= 0.
|
124
|
-
ruby-prof (1.
|
158
|
+
rubocop-rspec (1.38.1)
|
159
|
+
rubocop (>= 0.68.1)
|
160
|
+
ruby-prof (1.3.1)
|
125
161
|
ruby-progressbar (1.10.1)
|
126
162
|
sanitize (5.1.0)
|
127
163
|
crass (~> 1.0.2)
|
128
164
|
nokogiri (>= 1.8.0)
|
129
165
|
nokogumbo (~> 2.0)
|
130
|
-
simplecov (0.
|
166
|
+
simplecov (0.18.5)
|
131
167
|
docile (~> 1.1)
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
stackprof (0.2.
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
168
|
+
simplecov-html (~> 0.11)
|
169
|
+
simplecov-html (0.12.2)
|
170
|
+
slop (4.8.0)
|
171
|
+
sparkr (0.4.1)
|
172
|
+
stackprof (0.2.15)
|
173
|
+
sync (0.5.0)
|
174
|
+
term-ansicolor (1.7.1)
|
175
|
+
tins (~> 1.0)
|
176
|
+
thread_safe (0.3.6)
|
177
|
+
tins (1.24.1)
|
178
|
+
sync
|
179
|
+
tomlrb (1.3.0)
|
180
|
+
trailblazer-activity (0.10.0)
|
181
|
+
trailblazer-context (>= 0.2.0, < 0.3.0)
|
182
|
+
trailblazer-activity-dsl-linear (0.2.6)
|
183
|
+
trailblazer-activity (>= 0.9.1, < 1.0.0)
|
184
|
+
trailblazer-context (0.2.0)
|
185
|
+
trailblazer-developer (0.0.12)
|
186
|
+
hirb
|
187
|
+
representable
|
188
|
+
trailblazer-activity (>= 0.10.0, < 1.0.0)
|
189
|
+
trailblazer-activity-dsl-linear
|
190
|
+
trailblazer-operation (0.6.0)
|
191
|
+
trailblazer-activity (>= 0.10.0, < 1.0.0)
|
192
|
+
trailblazer-activity-dsl-linear (>= 0.2.1, < 1.0.0)
|
193
|
+
trailblazer-developer (>= 0.0.8)
|
194
|
+
tty-color (0.5.1)
|
195
|
+
uber (0.1.0)
|
196
|
+
unicode-display_width (1.6.1)
|
147
197
|
url (0.3.2)
|
148
|
-
|
198
|
+
virtus (1.0.5)
|
199
|
+
axiom-types (~> 0.1)
|
200
|
+
coercible (~> 1.0)
|
201
|
+
descendants_tracker (~> 0.0, >= 0.0.3)
|
202
|
+
equalizer (~> 0.0, >= 0.0.9)
|
203
|
+
warning (1.0.0)
|
204
|
+
yard (0.9.24)
|
149
205
|
|
150
206
|
PLATFORMS
|
151
207
|
ruby
|
152
208
|
|
153
209
|
DEPENDENCIES
|
210
|
+
awesome_print
|
154
211
|
benchmark-ips
|
155
212
|
bundler (~> 2.0)
|
156
213
|
codecov
|
214
|
+
dry-monads (~> 1.3)
|
157
215
|
dry-transaction
|
158
216
|
flows!
|
159
217
|
forspell (~> 0.0.8)
|
160
|
-
|
218
|
+
gli
|
219
|
+
inch
|
220
|
+
kalibera
|
221
|
+
mdl
|
161
222
|
pry
|
162
|
-
|
223
|
+
rainbow
|
224
|
+
rake (~> 13.0)
|
225
|
+
reek
|
163
226
|
rspec (~> 3.0)
|
164
227
|
rubocop
|
165
228
|
rubocop-md
|
@@ -169,6 +232,8 @@ DEPENDENCIES
|
|
169
232
|
simplecov
|
170
233
|
stackprof
|
171
234
|
trailblazer-operation
|
235
|
+
warning
|
236
|
+
yard
|
172
237
|
|
173
238
|
BUNDLED WITH
|
174
|
-
2.
|
239
|
+
2.1.4
|