trailblazer-activity 0.16.1 → 0.16.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e4aface39f365f86ef2fdc9c271821747c47724ff939e3b2d9ff9c914e67fe42
4
- data.tar.gz: 0b9ad9c43f7d1194d6d36be9a52b18f64ea2153eb08002c7ae6d90afca21c1a9
3
+ metadata.gz: d337611d8f737a90f05b16ad72442808bb373351ff81ae908fde441492fe72f2
4
+ data.tar.gz: 705b4f0de152cf24b0be9dead73aa2cde4f59cce80548a4a44737b061be76e3a
5
5
  SHA512:
6
- metadata.gz: f1327d35677ed3fcc721aaf12dd58c8f54f253303b1eb27a01dcf02446c10e1f63ef3004ca1cda4ec7146839029077072893b149c365d3d88e5eb9c7b5f471d2
7
- data.tar.gz: 25caa1eece8642ed5d564a3f6acc958c0498f1aff016cc1b61a6cb54c3761f60f8a52ab23b6e0cbed00c714196b821091bd96edce17f6fcb0ab0d69667fd1154
6
+ metadata.gz: 77173535922167fbc51c4bcc92909dea8e263313d97ef7ce47716ddbadc0a82ece0d511deccb57badc1adecb61fe2276594cf561642931da9cc243c2960fd9b7
7
+ data.tar.gz: e2157a80cbfdea6cc573bec8bdbb1933667e17335229aa9690051b3cb34bd0adb4613991621332debde5b34cb00993e9595169d154c8861db8857313deba4d66
@@ -6,10 +6,10 @@ jobs:
6
6
  fail-fast: false
7
7
  matrix:
8
8
  # Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
9
- ruby: [2.5, 2.6, 2.7, '3.0', 3.1, 3.2, head, jruby, jruby-head]
9
+ ruby: [2.5, 2.6, 2.7, '3.0', 3.1, 3.2, 3.3, head, jruby, jruby-head]
10
10
  runs-on: ubuntu-latest
11
11
  steps:
12
- - uses: actions/checkout@v3
12
+ - uses: actions/checkout@v4
13
13
  - uses: ruby/setup-ruby@v1
14
14
  with:
15
15
  ruby-version: ${{ matrix.ruby }}
data/CHANGES.md CHANGED
@@ -1,3 +1,12 @@
1
+ # 0.16.3
2
+
3
+ * Fix a bug in Ruby 3.2: `NoMethodError: undefined method `[]' for nil`. Thanks @tiagotex for finding the problem
4
+ and solution. This bug only occurs when compacting the memory using GC, which is only introduced with Ruby 3.2.
5
+
6
+ # 0.16.2
7
+
8
+ * Allow passing custom `:flow_options` to `Testing#assert_invoke`.
9
+
1
10
  # 0.16.1
2
11
 
3
12
  * Allow overriding `Activity.call`.
data/Gemfile CHANGED
@@ -2,5 +2,4 @@ source "https://rubygems.org"
2
2
  gemspec
3
3
 
4
4
  # gem "trailblazer-developer", path: "../trailblazer-developer"
5
- gem "benchmark-ips"
6
- gem "standard"
5
+ # gem "benchmark-ips"
@@ -24,7 +24,7 @@ module Trailblazer
24
24
 
25
25
  # From the intermediate "template" and the actual implementation, compile a {Circuit} instance.
26
26
  def schema_components(intermediate, implementation, config)
27
- wiring = {}
27
+ wiring = {}.compare_by_identity # https://ruby-doc.org/3.3.0/Hash.html#class-Hash-label-Modifying+an+Active+Hash+Key
28
28
  nodes_attributes = []
29
29
 
30
30
  intermediate.wiring.each do |task_ref, outs|
@@ -55,17 +55,19 @@ module Trailblazer
55
55
  end
56
56
 
57
57
  # Use {TaskWrap.invoke} to call the activity.
58
- def assert_invoke(activity, terminus: :success, seq: "[]", circuit_options: {}, expected_ctx_variables: {}, **ctx_variables)
59
- signal, (ctx, _flow_options) = Activity::TaskWrap.invoke(
58
+ def assert_invoke(activity, terminus: :success, seq: "[]", circuit_options: {}, flow_options: {}, expected_ctx_variables: {}, **ctx_variables)
59
+ signal, (ctx, returned_flow_options) = Activity::TaskWrap.invoke(
60
60
  activity,
61
61
  [
62
62
  {seq: [], **ctx_variables},
63
- {} # flow_options
63
+ flow_options,
64
64
  ],
65
65
  **circuit_options
66
66
  )
67
67
 
68
68
  assert_call_for(signal, ctx, terminus: terminus, seq: seq, **ctx_variables, **expected_ctx_variables) # DISCUSS: ordering of variables?
69
+
70
+ return signal, [ctx, returned_flow_options]
69
71
  end
70
72
 
71
73
  def assert_call_for(signal, ctx, terminus: :success, seq: "[]", **ctx_variables)
@@ -80,9 +82,7 @@ module Trailblazer
80
82
  def assert_process_for(process, *args)
81
83
  semantics, circuit = args[0..-2], args[-1]
82
84
 
83
- inspects = semantics.collect { |semantic| %(#<struct Trailblazer::Activity::Output signal=#<Trailblazer::Activity::End semantic=#{semantic.inspect}>, semantic=#{semantic.inspect}>) }
84
-
85
- assert_equal %([#{inspects.join(", ")}]), process.to_h[:outputs].inspect
85
+ assert_equal semantics.sort, process.to_h[:outputs].collect { |output| output[:semantic] }.sort
86
86
 
87
87
  assert_circuit(process, circuit)
88
88
 
@@ -1,7 +1,7 @@
1
1
  module Trailblazer
2
2
  module Version
3
3
  module Activity
4
- VERSION = "0.16.1"
4
+ VERSION = "0.16.3"
5
5
  end
6
6
  end
7
7
  end
@@ -3,8 +3,6 @@ module Trailblazer
3
3
  #
4
4
  # Developer's docs: https://trailblazer.to/2.1/docs/internals.html#internals-activity
5
5
  class Activity
6
- # include Activity::Interface # TODO
7
-
8
6
  def initialize(schema)
9
7
  @schema = schema
10
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trailblazer-activity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.16.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-09 00:00:00.000000000 Z
11
+ date: 2024-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trailblazer-context