trailblazer-operation 0.5.0 → 0.5.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d01fa1d700a2dd5435e8f166189be31b2da6ec460eec204c6aac8b02887c9ad6
4
- data.tar.gz: a0f41c6afd8f2e85ff86ceab11be439b8ea0ef3340b8e33ada6c34bcf2f5bca6
3
+ metadata.gz: 72f9bed867af38feb73cc3cd6eae06ac1621870649d315d93c17ef2fb2f01c9d
4
+ data.tar.gz: e4c512de05dd2dda4c670d0322455d9e0e2b8b3e646e237c553e4e49d8db70cd
5
5
  SHA512:
6
- metadata.gz: c7f95eed76ec2109879d2750636e43d82da24f42af7d58e037538565cd115ff04e9cf2cbeb9d4f2170cb614fb0585d2edbe98ce2a7c94d7d732c8d1ded6e60f8
7
- data.tar.gz: efd28f9dff2d79bfea21d2438119d8e619410333a904ba50dcccc13d450ae42efd1d71639068bd40168f2283c9c34f1fb9834f8ae56b866d16b2bc0e1b425526
6
+ metadata.gz: 808122f1bb28e26261afa083fd9718811d2c578a9e230cc59f091f623b447d17daece7f8caad233b8069bce50e99e45f04670f4037cef01d5e8ee697a795cd44
7
+ data.tar.gz: 7161f4c1341072a67c9d02fca6b1fb8d8c11befe66f722ab65a455bfbf0a226dc19dce8c1d6adb9beb6a490b753d7722b077e9a7d63b6ae10a3cc6ff01e617a1
data/CHANGES.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.5.1
2
+
3
+ * Remove Inspect. this now sits in the `developer` gem as `Developer.railway`.
4
+
1
5
  ## 0.5.0
2
6
 
3
7
  * Minimal API around `Activity::FastTrack` to support the old public call style.
data/Gemfile CHANGED
@@ -10,7 +10,7 @@ gem "dry-auto_inject"
10
10
  gem "benchmark-ips"
11
11
  gem "minitest-line"
12
12
 
13
- # gem "trailblazer-developer", path: "../developer"
13
+ gem "trailblazer-developer", path: "../trailblazer-developer"
14
14
  # gem "trailblazer-developer", git: "https://github.com/trailblazer/trailblazer-developer"
15
15
  # gem "trailblazer-activity", path: "../trailblazer-activity"
16
16
  # gem "trailblazer-activity-dsl-linear", path: "../trailblazer-activity-dsl-linear"
@@ -62,8 +62,6 @@ module Trailblazer
62
62
  end
63
63
  end
64
64
 
65
- require "trailblazer/operation/inspect"
66
-
67
65
  require "trailblazer/operation/class_dependencies"
68
66
  require "trailblazer/operation/deprecated_macro" # TODO: remove in 2.2.
69
67
 
@@ -1,7 +1,7 @@
1
1
  module Trailblazer
2
2
  module Version
3
3
  module Operation
4
- VERSION = "0.5.0"
4
+ VERSION = "0.5.1"
5
5
  end
6
6
  end
7
7
  end
@@ -287,119 +287,6 @@ describe all options :pass_fast, :fast_track and emiting signals directly, like
287
287
  end
288
288
  end
289
289
 
290
- =begin
291
- :before, :after, :replace, :delete, :group, :id
292
- =end
293
- class WiringsDocSeqOptionsTest < Minitest::Spec
294
- module Id
295
- Memo = Class.new(WiringDocsTest::Memo)
296
-
297
- #:id
298
- class Memo::Create < Trailblazer::Operation
299
- step :create_model, id: "create_memo"
300
- step :validate, id: "validate_params"
301
- step :save
302
- #~id-methods
303
- def create_model(options, **)
304
- end
305
-
306
- def validate(options, **)
307
- end
308
-
309
- def save(options, **)
310
- end
311
- #~id-methods end
312
- end
313
- #:id end
314
-
315
- #:delete
316
- class Memo::Create::Admin < Memo::Create
317
- step nil, delete: "validate_params", id: ""
318
- end
319
- #:delete end
320
-
321
- #:before
322
- class Memo::Create::Authorized < Memo::Create
323
- step :policy, before: "create_memo"
324
- #~before-methods
325
- def policy(options, **)
326
- end
327
- #~before-methods end
328
- end
329
- #:before end
330
-
331
- #:after
332
- class Memo::Create::Logging < Memo::Create
333
- step :logger, after: "validate_params"
334
- #~after-methods
335
- def logger(options, **)
336
- end
337
- #~after-methods end
338
- end
339
- #:after end
340
-
341
- #:replace
342
- class Memo::Update < Memo::Create
343
- step :find_model, replace: "create_memo", id: "update_memo"
344
- #~replace-methods
345
- def find_model(options, **)
346
- end
347
- #~replace-methods end
348
- end
349
- #:replace end
350
- end
351
-
352
- it ":id shows up in introspect" do
353
- Memo = Id::Memo
354
- #:id-inspect
355
- Trailblazer::Operation.introspect(Memo::Create)
356
- #=> [>create_memo,>validate_params,>save]
357
- #:id-inspect end
358
-
359
- Trailblazer::Operation.introspect(Memo::Create).must_equal %{[>create_memo,>validate_params,>save]}
360
- end
361
-
362
- it ":delete removes step" do
363
- Memo = Id::Memo
364
- #:delete-inspect
365
- Trailblazer::Operation.introspect(Memo::Create::Admin)
366
- #=> [>create_model,>save]
367
- #:delete-inspect end
368
-
369
- Trailblazer::Operation.introspect(Memo::Create::Admin).must_equal %{[>create_memo,>save]}
370
- end
371
-
372
- it ":before inserts" do
373
- Memo = Id::Memo
374
- #:before-inspect
375
- Trailblazer::Operation.introspect(Memo::Create::Authorized)
376
- #=> [>create_model,>save]
377
- #:before-inspect end
378
-
379
- Trailblazer::Operation.introspect(Memo::Create::Authorized).must_equal %{[>policy,>create_memo,>validate_params,>save]}
380
- end
381
-
382
- it ":after inserts" do
383
- Memo = Id::Memo
384
- #:after-inspect
385
- Trailblazer::Operation.introspect(Memo::Create::Logging)
386
- #=> [>create_memo,>validate_params,>logger,>save]
387
- #:after-inspect end
388
-
389
- Trailblazer::Operation.introspect(Memo::Create::Logging).must_equal %{[>create_memo,>validate_params,>logger,>save]}
390
- end
391
-
392
- it ":replace inserts" do
393
- Memo = Id::Memo
394
- #:replace-inspect
395
- Trailblazer::Operation.introspect(Memo::Update)
396
- #=> [>update_memo,>validate_params,>save]
397
- #:replace-inspect end
398
-
399
- Trailblazer::Operation.introspect(Memo::Update).must_equal %{[>update_memo,>validate_params,>save]}
400
- end
401
- end
402
-
403
290
  # @see https://github.com/trailblazer/trailblazer/issues/190#issuecomment-326992255
404
291
  class WiringsDocRecoverTest < Minitest::Spec
405
292
  Memo = WiringDocsTest::Memo
@@ -40,7 +40,7 @@ class StepTest < Minitest::Spec
40
40
 
41
41
  it { Create.(a: 1, b: 2, c: 3, d: 4, e: 5).inspect("a", "b", "c", "d", "e").must_equal "<Result:true [1, 2, 3, 4, 5] >" }
42
42
 
43
- it { Trailblazer::Operation::Inspect.(Create).gsub(/0x.+?step_test.rb/, "").must_equal %{[>#<Proc::30 (lambda)>,>StepTest::Callable,>#<Method: StepTest::Implementation.c>,>d,>MyMacro]} }
43
+ it { Trailblazer::Developer.railway(Create).gsub(/0x.+?step_test.rb/, "").must_equal %{[>#<Proc::30 (lambda)>,>StepTest::Callable,>#<Method: StepTest::Implementation.c>,>d,>MyMacro]} }
44
44
 
45
45
  #---
46
46
  #- :before, :after, :replace, :delete, :override
@@ -61,7 +61,7 @@ class StepTest < Minitest::Spec
61
61
  def d!(options, **); options["order"] << "d"; end
62
62
  end
63
63
 
64
- it { Trailblazer::Operation::Inspect.(B).must_equal %{[>b!,>d!,>c!,>a!]} }
64
+ it { Trailblazer::Developer.railway(B).must_equal %{[>b!,>d!,>c!,>a!]} }
65
65
 
66
66
  class C < B
67
67
  step :e!, replace: :c!
@@ -69,7 +69,7 @@ class StepTest < Minitest::Spec
69
69
  def e!(options, **); options["order"] << "e"; end
70
70
  end
71
71
 
72
- it { Trailblazer::Operation::Inspect.(C).must_equal %{[>b!,>e!,>a!]} }
72
+ it { Trailblazer::Developer.railway(C).must_equal %{[>b!,>e!,>a!]} }
73
73
  it { C.("order" => []).inspect("order").must_equal %{<Result:true [["b", "e", "a"]] >} }
74
74
 
75
75
  #---
@@ -84,7 +84,7 @@ class StepTest < Minitest::Spec
84
84
  def add!(options, **); options["a"] << :b; end
85
85
  end
86
86
 
87
- it { Trailblazer::Operation::Inspect.(D).must_equal %{[>a!,>add!,>another_add!]} }
87
+ it { Trailblazer::Developer.railway(D).must_equal %{[>a!,>add!,>another_add!]} }
88
88
  it { D.().inspect("a").must_equal %{<Result:true [[:b, :b]] >} }
89
89
 
90
90
  class E < Trailblazer::Operation
@@ -97,7 +97,7 @@ class StepTest < Minitest::Spec
97
97
  include T.def_steps(:a)
98
98
  end
99
99
 
100
- it { Trailblazer::Operation::Inspect.(E).must_equal %{[>a,>b]} }
100
+ it { Trailblazer::Developer.railway(E).must_equal %{[>a,>b]} }
101
101
  it { E.(seq: []).inspect(:seq).must_equal %{<Result:true [[:a, :b]] >} }
102
102
 
103
103
  #- with proc
@@ -109,7 +109,7 @@ class StepTest < Minitest::Spec
109
109
  def a!(options, **); options["a"] = []; end
110
110
  end
111
111
 
112
- it { Trailblazer::Operation::Inspect.(F).must_equal %{[>a!,>add!!!]} }
112
+ it { Trailblazer::Developer.railway(F).must_equal %{[>a!,>add!!!]} }
113
113
  it { F.().inspect("a").must_equal %{<Result:true [[:b]] >} }
114
114
 
115
115
  #- with macro
@@ -126,7 +126,7 @@ class StepTest < Minitest::Spec
126
126
  def a!(options, **); options["a"] = []; end
127
127
  end
128
128
 
129
- it { Trailblazer::Operation::Inspect.(G).must_equal %{[>a!,>add]} }
129
+ it { Trailblazer::Developer.railway(G).must_equal %{[>a!,>add]} }
130
130
  it { G.().inspect("a").must_equal %{<Result:true [[:b]] >} }
131
131
 
132
132
  # override: true in inherited class with macro
@@ -135,7 +135,7 @@ class StepTest < Minitest::Spec
135
135
  step task: MyMacro, override: true, id: "add"
136
136
  end
137
137
 
138
- it { Trailblazer::Operation::Inspect.(Go).must_equal %{[>a!,>add]} }
138
+ it { Trailblazer::Developer.railway(Go).must_equal %{[>a!,>add]} }
139
139
  it { Go.().inspect("a").must_equal %{<Result:true [[:m]] >} }
140
140
 
141
141
  #- with inheritance
@@ -154,7 +154,7 @@ class StepTest < Minitest::Spec
154
154
  def _add!(options, **); options["a"] << :hh; end
155
155
  end
156
156
 
157
- it { Trailblazer::Operation::Inspect.(Hh).must_equal %{[>a!,>_add!]} }
157
+ it { Trailblazer::Developer.railway(Hh).must_equal %{[>a!,>_add!]} }
158
158
  it { Hh.().inspect("a").must_equal %{<Result:true [[:hh]] >} }
159
159
 
160
160
  #- inheritance unit test
@@ -190,20 +190,20 @@ class StepTest < Minitest::Spec
190
190
  step({task: "MyMacro", id: "I win!"}, id: "No, I do!")
191
191
  end
192
192
 
193
- it { Trailblazer::Operation::Inspect.(Index).must_equal %{[>my validate,>persist!,>I win!,>No, I do!]} }
193
+ it { Trailblazer::Developer.railway(Index).must_equal %{[>my validate,>persist!,>I win!,>No, I do!]} }
194
194
 
195
195
  #---
196
196
  #- inheritance
197
197
  class New < Create
198
198
  end
199
199
 
200
- it { Trailblazer::Operation::Inspect.(New).gsub(/0x.+?step_test.rb/, "").must_equal %{[>#<Proc::30 (lambda)>,>StepTest::Callable,>#<Method: StepTest::Implementation.c>,>d,>MyMacro]} }
200
+ it { Trailblazer::Developer.railway(New).gsub(/0x.+?step_test.rb/, "").must_equal %{[>#<Proc::30 (lambda)>,>StepTest::Callable,>#<Method: StepTest::Implementation.c>,>d,>MyMacro]} }
201
201
 
202
202
  class Update < Create
203
203
  step :after_save!
204
204
  end
205
205
 
206
- it { Trailblazer::Operation::Inspect.(Update).gsub(/0x.+?step_test.rb/, "").must_equal %{[>#<Proc::30 (lambda)>,>StepTest::Callable,>#<Method: StepTest::Implementation.c>,>d,>MyMacro,>after_save!]} }
206
+ it { Trailblazer::Developer.railway(Update).gsub(/0x.+?step_test.rb/, "").must_equal %{[>#<Proc::30 (lambda)>,>StepTest::Callable,>#<Method: StepTest::Implementation.c>,>d,>MyMacro,>after_save!]} }
207
207
  end
208
208
 
209
209
  #---
@@ -226,7 +226,7 @@ class StepWithDeprecatedMacroTest < Minitest::Spec
226
226
  step [AnotherOldMacro, id: :oldie]
227
227
  end
228
228
 
229
- it { skip; Trailblazer::Operation::Inspect.(Create).gsub(/0x.+?step_test.rb/, "").must_equal %{[>outdated,>oldie]} }
229
+ it { skip; Trailblazer::Developer.railway(Create).gsub(/0x.+?step_test.rb/, "").must_equal %{[>outdated,>oldie]} }
230
230
  it { skip; Create.().inspect("x", "y").must_equal %{<Result:true [StepWithDeprecatedMacroTest::Create, StepWithDeprecatedMacroTest::Create] >} }
231
231
  end
232
232
 
@@ -3,6 +3,7 @@ require "pp"
3
3
  require "minitest/autorun"
4
4
  require "trailblazer/operation"
5
5
  require "trailblazer/activity/testing"
6
+ require "trailblazer/developer/render/linear"
6
7
 
7
8
  Minitest::Spec.class_eval do
8
9
  Activity = Trailblazer::Activity
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency "minitest"
25
25
  spec.add_development_dependency "rake"
26
26
  spec.add_development_dependency "rubocop"
27
+ spec.add_development_dependency "trailblazer-developer", ">= 0.0.3"
27
28
 
28
29
  spec.required_ruby_version = ">= 2.1.0"
29
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trailblazer-operation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-16 00:00:00.000000000 Z
11
+ date: 2019-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trailblazer-activity-dsl-linear
@@ -106,6 +106,20 @@ dependencies:
106
106
  - - ">="
107
107
  - !ruby/object:Gem::Version
108
108
  version: '0'
109
+ - !ruby/object:Gem::Dependency
110
+ name: trailblazer-developer
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: 0.0.3
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 0.0.3
109
123
  description: Trailblazer's operation object.
110
124
  email:
111
125
  - apotonick@gmail.com
@@ -126,7 +140,6 @@ files:
126
140
  - lib/trailblazer/operation/class_dependencies.rb
127
141
  - lib/trailblazer/operation/container.rb
128
142
  - lib/trailblazer/operation/deprecated_macro.rb
129
- - lib/trailblazer/operation/inspect.rb
130
143
  - lib/trailblazer/operation/public_call.rb
131
144
  - lib/trailblazer/operation/railway.rb
132
145
  - lib/trailblazer/operation/railway/macaroni.rb
@@ -148,7 +161,6 @@ files:
148
161
  - test/gemfiles/Gemfile.ruby-2.0.lock
149
162
  - test/gemfiles/Gemfile.ruby-2.3
150
163
  - test/inheritance_test.rb
151
- - test/inspect_test.rb
152
164
  - test/introspect_test.rb
153
165
  - test/operation_test.rb
154
166
  - test/result_test.rb
@@ -202,7 +214,6 @@ test_files:
202
214
  - test/gemfiles/Gemfile.ruby-2.0.lock
203
215
  - test/gemfiles/Gemfile.ruby-2.3
204
216
  - test/inheritance_test.rb
205
- - test/inspect_test.rb
206
217
  - test/introspect_test.rb
207
218
  - test/operation_test.rb
208
219
  - test/result_test.rb
@@ -1,69 +0,0 @@
1
- module Trailblazer
2
- # Operation-specific circuit rendering. This is optimized for a linear railway circuit.
3
- #
4
- # @private
5
- #
6
- # NOTE: this is absolutely to be considered as prototyping and acts more like a test helper ATM as
7
- # Inspect is not a mission-critical part.
8
- class Operation
9
- def self.introspect(*args)
10
- Operation::Inspect.(*args)
11
- end
12
- end
13
-
14
- module Operation::Inspect
15
- module_function
16
-
17
- def call(operation, options = {style: :line})
18
- graph = Activity::Introspect::Graph(operation)
19
-
20
- rows = graph.collect do |node, i|
21
- next if node[:data][:stop_event] # DISCUSS: show this?
22
-
23
- created_by = node[:data][:dsl_track] || :pass
24
-
25
- [i, [created_by, node.id]]
26
- end.compact
27
-
28
- rows = rows[1..-1] # remove start
29
-
30
- return inspect_line(rows) if options[:style] == :line
31
-
32
- return inspect_rows(rows)
33
- end
34
-
35
- def inspect_func(step)
36
- @inspect[step]
37
- end
38
-
39
- Operator = {fail: "<<", pass: ">>", step: ">"}
40
-
41
- def inspect_line(names)
42
- string = names.collect { |i, (end_of_edge, name)| "#{Operator[end_of_edge]}#{name}" }.join(",")
43
- "[#{string}]"
44
- end
45
-
46
- def inspect_rows(names)
47
- string = names.collect do |i, (end_of_edge, name)|
48
- operator = Operator[end_of_edge]
49
-
50
- op = "#{operator}#{name}"
51
- padding = 38
52
-
53
- proc = if operator == "<<"
54
- sprintf("%- #{padding}s", op)
55
- elsif [">", ">>", "&"].include?(operator.to_s)
56
- sprintf("% #{padding}s", op)
57
- else
58
- pad = " " * ((padding - op.length) / 2)
59
- "#{pad}#{op}#{pad}"
60
- end
61
-
62
- proc = proc.gsub(" ", "=")
63
-
64
- sprintf("%2d %s", i, proc)
65
- end.join("\n")
66
- "\n#{string}"
67
- end
68
- end
69
- end
@@ -1,42 +0,0 @@
1
- require "test_helper"
2
-
3
- class InspectTest < Minitest::Spec
4
- # Test: #to_table
5
- class Create < Trailblazer::Operation
6
- step :decide!
7
- pass :wasnt_ok!
8
- pass :was_ok!
9
- fail :return_true!
10
- fail :return_false!
11
- step :finalize!
12
- end
13
-
14
- #---
15
- #- to_table
16
-
17
- # pp Create.instance_variable_get(:@builder)
18
-
19
- it do
20
- Trailblazer::Operation.introspect(Create).must_equal %{[>decide!,>>wasnt_ok!,>>was_ok!,<<return_true!,<<return_false!,>finalize!]}
21
- end
22
-
23
- it do
24
- Trailblazer::Operation::Inspect.call(Create, style: :rows).must_equal %{
25
- 1 ==============================>decide!
26
- 2 ===========================>>wasnt_ok!
27
- 3 =============================>>was_ok!
28
- 4 <<return_true!========================
29
- 5 <<return_false!=======================
30
- 6 ============================>finalize!}
31
- end
32
-
33
- describe "step with only one output (happens with Nested)" do
34
- class Present < Trailblazer::Operation
35
- pass :ok!, outputs: {:success => Trailblazer::Activity::Output("signal", :success)}
36
- end
37
-
38
- it do
39
- Trailblazer::Operation.introspect(Present).must_equal %{[>>ok!]}
40
- end
41
- end
42
- end