trailblazer-macro 2.1.12 → 2.1.13
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/CHANGES.md +4 -0
- data/lib/trailblazer/macro/each.rb +20 -3
- data/lib/trailblazer/macro/version.rb +1 -1
- data/test/docs/each_test.rb +36 -3
- data/trailblazer-macro.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5cdf91d3afe4c31815401fd46ca1b6a8778dd2b1b89db4871c7dcff708cc73ff
|
4
|
+
data.tar.gz: 48c050c6086a5be67804385a427a95e0df1ab4cf0802de5004b61a96a8e54ced
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a27a00484972d2c65a6ffad50bd34e1fff0cfee69382bb5fabd3a06f20e15f818f95d44ce03a13727095fe352901ca0fdfcc544e15ec066bc73e43d14b8b6df
|
7
|
+
data.tar.gz: c64786889c195182f399c9df157f67926622ae7c032d9ef8c8de47db89b37750544721b1261a7ea5fe5f731208eccb3192aac2fe2c92b77036cbcd3ce68e4070
|
data/CHANGES.md
CHANGED
@@ -52,6 +52,12 @@ module Trailblazer
|
|
52
52
|
end
|
53
53
|
|
54
54
|
return signal, [ctx, flow_options]
|
55
|
+
end #call
|
56
|
+
|
57
|
+
def self.to_h
|
58
|
+
container_activity = @state.get(:activity)
|
59
|
+
# FIXME: this is needed for a proper {find_path} introspect lookup.
|
60
|
+
container_activity.to_h.merge(activity: container_activity)
|
55
61
|
end
|
56
62
|
|
57
63
|
# This is basically Out() => {copy all mutable variables}
|
@@ -90,7 +96,11 @@ module Trailblazer
|
|
90
96
|
block_activity,
|
91
97
|
each: true, # mark this activity for {compute_runtime_id}.
|
92
98
|
nodes: [Activity::NodeAttributes.new("invoke_block_activity", nil, block_activity)], # TODO: use TaskMap::TaskAttributes
|
99
|
+
outputs: outputs_from_block_activity,
|
93
100
|
).merge(
|
101
|
+
# FIXME: we can't pass {wrap_static: wrap_static_for_block_activity} into {#container_activity_for}
|
102
|
+
# because when patching, the container_activity is not recompiled, so we need the Hash here
|
103
|
+
# with defaulting.
|
94
104
|
wrap_static: Hash.new(wrap_static_for_block_activity)
|
95
105
|
)
|
96
106
|
|
@@ -111,9 +121,16 @@ module Trailblazer
|
|
111
121
|
success_signal: [termini_from_block_activity[-1][0], {}] # FIXME: when subclassing (e.g. patching) this must be recomputed.
|
112
122
|
)
|
113
123
|
|
114
|
-
#
|
115
|
-
#
|
116
|
-
#
|
124
|
+
# |-- Each/composers_for_each
|
125
|
+
# | |-- Start.default
|
126
|
+
# | |-- Each.iterate.block This is Class.new(Each), outputs_from_block_activity
|
127
|
+
# | | |-- invoke_block_activity.0 step :invoke_block_activity.0
|
128
|
+
# | | | |-- Start.default
|
129
|
+
# | | | |-- notify_composers
|
130
|
+
# | | | `-- End.success
|
131
|
+
# | | `-- invoke_block_activity.1 step "invoke_block_activity.1"
|
132
|
+
# | | |-- Start.default
|
133
|
+
# | | |-- notify_composers
|
117
134
|
iterate_strategy = Class.new(Each) do
|
118
135
|
extend Macro::Strategy::State # now, the Wrap subclass can inherit its state and copy the {block_activity}.
|
119
136
|
initialize!(state)
|
data/test/docs/each_test.rb
CHANGED
@@ -616,20 +616,53 @@ class EachStrategyComplianceTest < Minitest::Spec
|
|
616
616
|
|
617
617
|
it "find_path" do
|
618
618
|
assert_equal Trailblazer::Developer::Introspect.find_path(Song::Activity::Cover,
|
619
|
-
["Each/composers_for_each", "Each.iterate.block", :notify_composers])[0].task.inspect,
|
619
|
+
["Each/composers_for_each", "Each.iterate.block", "invoke_block_activity", :notify_composers])[0].task.inspect,
|
620
620
|
%{#<Trailblazer::Activity::TaskBuilder::Task user_proc=notify_composers>}
|
621
621
|
|
622
622
|
=begin
|
623
623
|
#:find_path
|
624
624
|
node, _ = Trailblazer::Developer::Introspect.find_path(
|
625
625
|
Song::Activity::Cover,
|
626
|
-
["Each/composers_for_each", "Each.iterate.block", :notify_composers])
|
626
|
+
["Each/composers_for_each", "Each.iterate.block", "invoke_block_activity", :notify_composers])
|
627
627
|
#=> #<Node ...>
|
628
628
|
#:find_path end
|
629
629
|
=end
|
630
630
|
|
631
631
|
end
|
632
632
|
|
633
|
+
it "{#find_path} for Each(Activity) with anonymous class" do
|
634
|
+
id = nil
|
635
|
+
|
636
|
+
activity = Class.new(Trailblazer::Activity::Railway) do
|
637
|
+
sub_activity = Class.new(Trailblazer::Activity::Railway) do
|
638
|
+
step :notify_composers
|
639
|
+
end
|
640
|
+
id = sub_activity.to_s
|
641
|
+
|
642
|
+
step :model
|
643
|
+
step Each(sub_activity, dataset_from: :composers_for_each)
|
644
|
+
step :rearrange
|
645
|
+
|
646
|
+
def composers_for_each(ctx, model:, **)
|
647
|
+
model.composers
|
648
|
+
end
|
649
|
+
# include CoverMethods
|
650
|
+
end
|
651
|
+
|
652
|
+
node, _activity = Trailblazer::Developer::Introspect.find_path(activity,
|
653
|
+
[%{Each/#{id}}, "Each.iterate.#{id}", "invoke_block_activity"])
|
654
|
+
|
655
|
+
assert_equal _activity.class.inspect, "Hash" # container_activity
|
656
|
+
|
657
|
+
#@ inside {invoke_block_activity}
|
658
|
+
node, _activity = Trailblazer::Developer::Introspect.find_path(activity,
|
659
|
+
[%{Each/#{id}}, "Each.iterate.#{id}", "invoke_block_activity", :notify_composers])
|
660
|
+
|
661
|
+
assert_equal node.task.inspect,
|
662
|
+
%{#<Trailblazer::Activity::TaskBuilder::Task user_proc=notify_composers>}
|
663
|
+
assert_equal _activity.class.inspect, "Trailblazer::Activity"
|
664
|
+
end
|
665
|
+
|
633
666
|
|
634
667
|
it "tracing" do
|
635
668
|
EachPureTest::Mailer.send_options = []
|
@@ -731,7 +764,7 @@ class DocsEachUnitTest < Minitest::Spec
|
|
731
764
|
#@ compile time
|
732
765
|
#@ make sure we can find tasks/compile-time artifacts in Each by using their {compile_id}.
|
733
766
|
assert_equal Trailblazer::Developer::Introspect.find_path(activity,
|
734
|
-
["Each/1", "Each.iterate.block", :compute_item])[0].task.inspect,
|
767
|
+
["Each/1", "Each.iterate.block", "invoke_block_activity", :compute_item])[0].task.inspect,
|
735
768
|
%{#<Trailblazer::Activity::TaskBuilder::Task user_proc=compute_item>}
|
736
769
|
# puts Trailblazer::Developer::Render::TaskWrap.(activity, ["Each/1", "Each.iterate.block", "invoke_block_activity", :compute_item])
|
737
770
|
|
data/trailblazer-macro.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_development_dependency "trailblazer-developer"
|
23
23
|
|
24
24
|
spec.add_dependency "trailblazer-activity-dsl-linear", ">= 1.1.0", "< 1.2.0"
|
25
|
-
spec.add_dependency "trailblazer-operation", ">= 0.9.0" # TODO: this dependency will be removed. currently needed for tests?!
|
25
|
+
spec.add_dependency "trailblazer-operation", ">= 0.9.0" # TODO: this dependency will be removed. currently needed for tests?! and for Guard::Result
|
26
26
|
|
27
27
|
spec.required_ruby_version = ">= 2.2.0"
|
28
28
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trailblazer-macro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-12-
|
12
|
+
date: 2022-12-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|