trailblazer-activity-dsl-linear 1.0.0 → 1.2.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.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +2 -3
  3. data/CHANGES.md +100 -0
  4. data/Gemfile +7 -4
  5. data/Rakefile +1 -1
  6. data/lib/trailblazer/activity/dsl/linear/feature/merge.rb +2 -2
  7. data/lib/trailblazer/activity/dsl/linear/feature/patch.rb +9 -5
  8. data/lib/trailblazer/activity/dsl/linear/feature/variable_mapping/dsl.rb +241 -156
  9. data/lib/trailblazer/activity/dsl/linear/feature/variable_mapping/runtime.rb +276 -0
  10. data/lib/trailblazer/activity/dsl/linear/feature/variable_mapping.rb +70 -226
  11. data/lib/trailblazer/activity/dsl/linear/helper/path.rb +37 -18
  12. data/lib/trailblazer/activity/dsl/linear/helper.rb +38 -17
  13. data/lib/trailblazer/activity/dsl/linear/normalizer/extensions.rb +63 -0
  14. data/lib/trailblazer/activity/dsl/linear/normalizer/inherit.rb +90 -0
  15. data/lib/trailblazer/activity/dsl/linear/normalizer/output_tuples.rb +160 -0
  16. data/lib/trailblazer/activity/dsl/linear/normalizer/terminus.rb +26 -29
  17. data/lib/trailblazer/activity/dsl/linear/normalizer.rb +99 -160
  18. data/lib/trailblazer/activity/dsl/linear/sequence/builder.rb +3 -2
  19. data/lib/trailblazer/activity/dsl/linear/sequence/compiler.rb +21 -17
  20. data/lib/trailblazer/activity/dsl/linear/sequence/search.rb +2 -8
  21. data/lib/trailblazer/activity/dsl/linear/strategy.rb +56 -17
  22. data/lib/trailblazer/activity/dsl/linear/version.rb +1 -1
  23. data/lib/trailblazer/activity/dsl/linear.rb +13 -1
  24. data/lib/trailblazer/activity/fast_track.rb +96 -67
  25. data/lib/trailblazer/activity/path.rb +35 -53
  26. data/lib/trailblazer/activity/railway.rb +63 -65
  27. data/trailblazer-activity-dsl-linear.gemspec +8 -8
  28. metadata +27 -18
  29. data/lib/trailblazer/activity/dsl/linear/feature/variable_mapping/inherit.rb +0 -38
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trailblazer-activity-dsl-linear
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-22 00:00:00.000000000 Z
11
+ date: 2023-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trailblazer-activity
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.14.0
19
+ version: 0.16.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 0.15.0
22
+ version: 0.17.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.14.0
29
+ version: 0.16.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 0.15.0
32
+ version: 0.17.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: trailblazer-declarative
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -68,16 +68,22 @@ dependencies:
68
68
  name: minitest
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - "~>"
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 5.15.0
74
+ - - "<"
72
75
  - !ruby/object:Gem::Version
73
- version: '5.0'
76
+ version: 5.16.0
74
77
  type: :development
75
78
  prerelease: false
76
79
  version_requirements: !ruby/object:Gem::Requirement
77
80
  requirements:
78
- - - "~>"
81
+ - - ">="
79
82
  - !ruby/object:Gem::Version
80
- version: '5.0'
83
+ version: 5.15.0
84
+ - - "<"
85
+ - !ruby/object:Gem::Version
86
+ version: 5.16.0
81
87
  - !ruby/object:Gem::Dependency
82
88
  name: rake
83
89
  requirement: !ruby/object:Gem::Requirement
@@ -93,19 +99,19 @@ dependencies:
93
99
  - !ruby/object:Gem::Version
94
100
  version: '0'
95
101
  - !ruby/object:Gem::Dependency
96
- name: trailblazer-developer
102
+ name: trailblazer-core-utils
97
103
  requirement: !ruby/object:Gem::Requirement
98
104
  requirements:
99
- - - ">="
105
+ - - '='
100
106
  - !ruby/object:Gem::Version
101
- version: 0.0.26
107
+ version: 0.0.2
102
108
  type: :development
103
109
  prerelease: false
104
110
  version_requirements: !ruby/object:Gem::Requirement
105
111
  requirements:
106
- - - ">="
112
+ - - '='
107
113
  - !ruby/object:Gem::Version
108
- version: 0.0.26
114
+ version: 0.0.2
109
115
  description: Simple DSL to define Trailblazer activities with arbitrary wirings.
110
116
  email:
111
117
  - apotonick@gmail.com
@@ -127,10 +133,13 @@ files:
127
133
  - lib/trailblazer/activity/dsl/linear/feature/patch.rb
128
134
  - lib/trailblazer/activity/dsl/linear/feature/variable_mapping.rb
129
135
  - lib/trailblazer/activity/dsl/linear/feature/variable_mapping/dsl.rb
130
- - lib/trailblazer/activity/dsl/linear/feature/variable_mapping/inherit.rb
136
+ - lib/trailblazer/activity/dsl/linear/feature/variable_mapping/runtime.rb
131
137
  - lib/trailblazer/activity/dsl/linear/helper.rb
132
138
  - lib/trailblazer/activity/dsl/linear/helper/path.rb
133
139
  - lib/trailblazer/activity/dsl/linear/normalizer.rb
140
+ - lib/trailblazer/activity/dsl/linear/normalizer/extensions.rb
141
+ - lib/trailblazer/activity/dsl/linear/normalizer/inherit.rb
142
+ - lib/trailblazer/activity/dsl/linear/normalizer/output_tuples.rb
134
143
  - lib/trailblazer/activity/dsl/linear/normalizer/terminus.rb
135
144
  - lib/trailblazer/activity/dsl/linear/sequence.rb
136
145
  - lib/trailblazer/activity/dsl/linear/sequence/builder.rb
@@ -142,7 +151,7 @@ files:
142
151
  - lib/trailblazer/activity/path.rb
143
152
  - lib/trailblazer/activity/railway.rb
144
153
  - trailblazer-activity-dsl-linear.gemspec
145
- homepage: http://trailblazer.to
154
+ homepage: https://trailblazer.to/2.1/docs/activity
146
155
  licenses:
147
156
  - LGPL-3.0
148
157
  metadata: {}
@@ -154,7 +163,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
154
163
  requirements:
155
164
  - - ">="
156
165
  - !ruby/object:Gem::Version
157
- version: 2.1.0
166
+ version: 2.5.0
158
167
  required_rubygems_version: !ruby/object:Gem::Requirement
159
168
  requirements:
160
169
  - - ">="
@@ -1,38 +0,0 @@
1
- module Trailblazer
2
- class Activity
3
- module DSL
4
- module Linear
5
- module VariableMapping
6
- # Implements the {inherit: [:variable_mapping]} feature.
7
- module Inherit
8
- def self.extended(strategy) # FIXME: who implements {extend!}
9
- Linear::Normalizer.extend!(strategy, :step) do |normalizer|
10
- Linear::Normalizer.prepend_to(
11
- normalizer,
12
- "activity.normalize_input_output_filters",
13
- {
14
- "variable_mapping.inherit_option" => Linear::Normalizer.Task(VariableMapping::Inherit::Normalizer.method(:inherit_option)),
15
- }
16
- )
17
- end
18
- end
19
-
20
- module Normalizer
21
- # Inheriting the original I/O happens by grabbing the variable_mapping_pipelines
22
- # from the original sequence and pass it on in the normalizer.
23
- # It will eventually get processed by {VariableMapping#pipe_for_composable_input} etc.
24
- def self.inherit_option(ctx, inherit: [], sequence:, id:, **)
25
- return unless inherit.include?(:variable_mapping)
26
-
27
- inherited_input_pipeline, inherited_output_pipeline = Linear::Normalizer::InheritOption.find_row(sequence, id).data[:variable_mapping_pipelines]
28
-
29
- ctx[:initial_input_pipeline] = inherited_input_pipeline
30
- ctx[:initial_output_pipeline] = inherited_output_pipeline
31
- end
32
- end
33
- end
34
- end # VariableMapping
35
- end
36
- end
37
- end
38
- end