trailblazer-activity-dsl-linear 0.3.5 → 0.4.3

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: 6d438f16110a2a03d05d08edfb0e74be8d92bd031b61818d0c6a87cbe500a9d0
4
- data.tar.gz: e4f769408c024853dee3c6b1f8a57a1e2276848c8d7e7e4a35d4e5174f8ffaf5
3
+ metadata.gz: 9953750b2e208755037a9f48a7847edc3a3ccdf54bd4ab121be8e8666b85e41f
4
+ data.tar.gz: 1d36eeb6036cf7a7a8fc234c78ccf90507de7f3f380a6a3fd92f432e1efe246f
5
5
  SHA512:
6
- metadata.gz: 0c0df72aa24b1d7e93767d968d55a16c2f2193fd2819175a28822a5a178e0abb364768bac09a30bb41801b94084c9f44f2ea1fe0356db5a5d33b56f92c572430
7
- data.tar.gz: 88b45c45f818435b8484a1aec585a397df887fc8174bdc8e57d7993e905100025bb26642bfae3efdd83b8a5075a439ad11ea59270b6f9c8c6c1246a673c63c12
6
+ metadata.gz: d50d156f2daed3fccf7c78d978896e4a94d5cf6ef854f9e77ace7186700703c45c1aed21a551b27f0343d4d0ed33694958be936fc6a5651505cf6b368052dd83
7
+ data.tar.gz: 2b53f6d85d4e0e65407cb90c82ce34be3c55e3ba6b1dfdb25ae64a04be5d19617410c91da532f09cb2ed6058eb7e28e18e11bc3e68d5f83b197ef0792d3e2b15
@@ -0,0 +1,17 @@
1
+ name: CI
2
+ on: [push, pull_request]
3
+ jobs:
4
+ test:
5
+ strategy:
6
+ fail-fast: false
7
+ matrix:
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', head, jruby, jruby-head]
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v2
13
+ - uses: ruby/setup-ruby@v1
14
+ with:
15
+ ruby-version: ${{ matrix.ruby }}
16
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
17
+ - run: bundle exec rake
data/CHANGES.md CHANGED
@@ -1,3 +1,20 @@
1
+ # 0.4.3
2
+
3
+ * Limit `trailblazer-activity` dependency to `< 0.13.0`.
4
+
5
+ # 0.4.2
6
+
7
+ * Don't allow duplicate activities in Sequence (#47) :ghost:
8
+ * {:inherit} will only inherit the wirings supported in child activity (#48)
9
+
10
+ # 0.4.1
11
+
12
+ * Updrading `trailblazer-activity` to use shiny `trailblazer-option`.
13
+
14
+ # 0.4.0
15
+
16
+ * Support for Ruby 3.0.
17
+
1
18
  # 0.3.5
2
19
 
3
20
  * Retain custom wirings within subprocess while patching.
data/Gemfile CHANGED
@@ -5,7 +5,8 @@ gemspec
5
5
 
6
6
  gem "minitest-line"
7
7
 
8
- # gem "trailblazer-context", path: "../trailblazer-context"
8
+ gem "rubocop", require: false
9
+
9
10
  # gem "trailblazer-developer", path: "../trailblazer-developer"
10
11
  # gem "trailblazer-activity", path: "../trailblazer-activity"
11
12
  # gem "trailblazer-activity", path: "../circuit"
@@ -19,7 +19,7 @@ module Trailblazer
19
19
  def call(sequence, find_stops: method(:find_stop_task_ids), find_start: method(:find_start_task_ids))
20
20
  _implementations, intermediate_wiring =
21
21
  sequence.inject([[], []]) do |(implementations, intermediates), seq_row|
22
- magnetic_to, task, connections, data = seq_row
22
+ _magnetic_to, task, connections, data = seq_row
23
23
  id = data[:id]
24
24
 
25
25
  # execute all {Search}s for one sequence row.
@@ -62,7 +62,7 @@ module Trailblazer
62
62
 
63
63
  if task.is_a?(Symbol)
64
64
  # step task: :find, id: :load
65
- { **ctx[:options], id: (id || task), task: Trailblazer::Option( task ) }
65
+ { **ctx[:options], id: (id || task), task: Trailblazer::Option(task) }
66
66
  else
67
67
  # step task: Callable, ... (Subprocess, Proc, macros etc)
68
68
  ctx[:options] # NOOP
@@ -196,7 +196,7 @@ module Trailblazer
196
196
  def add_end(end_event, magnetic_to:, id:)
197
197
 
198
198
  options = Path::DSL.append_end_options(task: end_event, magnetic_to: magnetic_to, id: id)
199
- row = Linear::Sequence.create_row(options)
199
+ row = Linear::Sequence.create_row(**options)
200
200
 
201
201
  {
202
202
  row: row,
@@ -224,7 +224,7 @@ module Trailblazer
224
224
  end
225
225
 
226
226
  def input_output_dsl((ctx, flow_options), *)
227
- config = ctx.select { |k,v| [:input, :output].include?(k) } # TODO: optimize this, we don't have to go through the entire hash.
227
+ config = ctx.select { |k,v| [:input, :output, :output_with_outer_ctx].include?(k) } # TODO: optimize this, we don't have to go through the entire hash.
228
228
 
229
229
  return Trailblazer::Activity::Right, [ctx, flow_options] if config.size == 0 # no :input/:output passed.
230
230
 
@@ -246,13 +246,21 @@ module Trailblazer
246
246
  index = Linear::Insert.find_index(sequence, id)
247
247
  row = sequence[index] # from this row we're inheriting options.
248
248
 
249
- extensions = (row[3][:extensions]||[]) + (ctx[:extensions]||[]) # FIXME: DEFAULTING, FOR FUCK'S SAKE
249
+ connections = get_inheritable_connections(ctx, row[3][:connections])
250
+ extensions = Array(row[3][:extensions]) + Array(ctx[:extensions])
250
251
 
251
- ctx = ctx.merge(connections: row[3][:connections], extensions: extensions) # "inherit"
252
+ ctx = ctx.merge(connections: connections, extensions: extensions) # "inherit"
252
253
 
253
254
  return Trailblazer::Activity::Right, [ctx, flow_options]
254
255
  end
255
256
 
257
+ # return connections from {parent} step which are supported by current step
258
+ private def get_inheritable_connections(ctx, parent_connections)
259
+ return parent_connections unless ctx[:outputs]
260
+
261
+ parent_connections.slice(*ctx[:outputs].keys)
262
+ end
263
+
256
264
  # TODO: make this extendable!
257
265
  def cleanup_options((ctx, flow_options), *)
258
266
  # new_ctx = ctx.reject { |k, v| [:connections, :outputs, :end_id, :step_interface_builder, :failure_end, :track_name, :sequence].include?(k) }
@@ -30,7 +30,7 @@ module Trailblazer
30
30
  end
31
31
 
32
32
  def update_sequence(&block)
33
- @sequence = yield(to_h)
33
+ @sequence = yield(**to_h)
34
34
  end
35
35
 
36
36
  def update_options(fields)
@@ -58,7 +58,7 @@ module Trailblazer
58
58
  # by the DSL user. This is usually when you call Operation::step.
59
59
  def call(name, *args)
60
60
  normalizer = @normalizers.fetch(name)
61
- signal, (options, _) = normalizer.(*args)
61
+ _signal, (options, _) = normalizer.(*args)
62
62
  options
63
63
  end
64
64
  end
@@ -31,7 +31,7 @@ module Trailblazer
31
31
  # Compute the sequence rows.
32
32
  options = normalizers.(type, normalizer_options: normalizer_options, options: task, user_options: options.merge(sequence: sequence))
33
33
 
34
- sequence = Activity::DSL::Linear::DSL.apply_adds_from_dsl(sequence, options)
34
+ sequence = Activity::DSL::Linear::DSL.apply_adds_from_dsl(sequence, **options)
35
35
  end
36
36
  end
37
37
 
@@ -98,10 +98,10 @@ module Trailblazer
98
98
  end
99
99
 
100
100
  # Injects {:exec_context} so that {:instance_method}s work.
101
- def call(args, circuit_options={})
101
+ def call(args, **circuit_options)
102
102
  @activity.(
103
103
  args,
104
- circuit_options.merge(exec_context: new)
104
+ **circuit_options.merge(exec_context: new)
105
105
  )
106
106
  end
107
107
 
@@ -4,15 +4,17 @@ module Trailblazer
4
4
  module Linear
5
5
  # Normalizer-steps to implement {:input} and {:output}
6
6
  # Returns an Extension instance to be thrown into the `step` DSL arguments.
7
- def self.VariableMapping(input: VariableMapping.default_input, output: VariableMapping.default_output)
7
+ def self.VariableMapping(input: VariableMapping.default_input, output: VariableMapping.default_output, output_with_outer_ctx: false)
8
8
  input =
9
9
  VariableMapping::Input::Scoped.new(
10
- Trailblazer::Option::KW( VariableMapping::filter_for(input) )
10
+ Trailblazer::Option(VariableMapping::filter_for(input))
11
11
  )
12
12
 
13
+ unscope_class = output_with_outer_ctx ? VariableMapping::Output::Unscoped::WithOuterContext : VariableMapping::Output::Unscoped
14
+
13
15
  output =
14
- VariableMapping::Output::Unscoped.new(
15
- Trailblazer::Option::KW( VariableMapping::filter_for(output) )
16
+ unscope_class.new(
17
+ Trailblazer::Option(VariableMapping::filter_for(output))
16
18
  )
17
19
 
18
20
  TaskWrap::Extension(
@@ -36,6 +38,7 @@ module Trailblazer
36
38
  ->(ctx, **) { ctx }
37
39
  end
38
40
 
41
+ # Returns a filter proc to be called in an Option.
39
42
  # @private
40
43
  def filter_for(filter)
41
44
  if filter.is_a?(::Array) || filter.is_a?(::Hash)
@@ -45,13 +48,24 @@ module Trailblazer
45
48
  end
46
49
  end
47
50
 
51
+ # @private
52
+ def output_option_for(option, pass_outer_ctx) # DISCUSS: not sure I like this.
53
+
54
+ return option if pass_outer_ctx
55
+ # OutputReceivingInnerCtxOnly =
56
+
57
+ # don't pass {outer_ctx}, only {inner_ctx}. this is the default.
58
+ return ->(inner_ctx, outer_ctx, **kws) { option.(inner_ctx, **kws) }
59
+ end
60
+
61
+
48
62
  module DSL
49
63
  # The returned filter compiles a new hash for Scoped/Unscoped that only contains
50
64
  # the desired i/o variables.
51
65
  def self.filter_from_dsl(map)
52
66
  hsh = DSL.hash_for(map)
53
67
 
54
- ->(incoming_ctx, kwargs) { Hash[hsh.collect { |from_name, to_name| [to_name, incoming_ctx[from_name]] }] }
68
+ ->(incoming_ctx, **kwargs) { Hash[hsh.collect { |from_name, to_name| [to_name, incoming_ctx[from_name]] }] }
55
69
  end
56
70
 
57
71
  def self.hash_for(ary)
@@ -60,7 +74,6 @@ module Trailblazer
60
74
  end
61
75
  end
62
76
 
63
-
64
77
  module Input
65
78
  class Scoped
66
79
  def initialize(filter)
@@ -69,7 +82,7 @@ module Trailblazer
69
82
 
70
83
  def call((original_ctx, flow_options), **circuit_options)
71
84
  Trailblazer::Context(
72
- @filter.(original_ctx, **circuit_options),
85
+ @filter.(original_ctx, keyword_arguments: original_ctx.to_hash, **circuit_options),
73
86
  {},
74
87
  flow_options[:context_options]
75
88
  )
@@ -87,9 +100,21 @@ module Trailblazer
87
100
 
88
101
  def call(new_ctx, (original_ctx, flow_options), **circuit_options)
89
102
  original_ctx.merge(
90
- @filter.(new_ctx, **circuit_options)
103
+ call_filter(new_ctx, [original_ctx, flow_options], **circuit_options)
91
104
  )
92
105
  end
106
+
107
+ def call_filter(new_ctx, (original_ctx, flow_options), **circuit_options)
108
+ # Pass {inner_ctx, **inner_ctx}
109
+ @filter.(new_ctx, keyword_arguments: new_ctx.to_hash, **circuit_options)
110
+ end
111
+
112
+ class WithOuterContext < Unscoped
113
+ def call_filter(new_ctx, (original_ctx, flow_options), **circuit_options)
114
+ # Pass {inner_ctx, outer_ctx, **inner_ctx}
115
+ @filter.(new_ctx, original_ctx, keyword_arguments: new_ctx.to_hash, **circuit_options)
116
+ end
117
+ end
93
118
  end
94
119
  end
95
120
  end # VariableMapping
@@ -3,7 +3,7 @@ module Trailblazer
3
3
  module Activity
4
4
  module DSL
5
5
  module Linear
6
- VERSION = "0.3.5"
6
+ VERSION = "0.4.3"
7
7
  end
8
8
  end
9
9
  end
@@ -99,7 +99,7 @@ class Trailblazer::Activity
99
99
 
100
100
  # @private
101
101
  def find_in_range(range, target_color)
102
- target_seq_row = range.find { |seq_row| seq_row[0] == target_color }
102
+ _target_seq_row = range.find { |seq_row| seq_row[0] == target_color }
103
103
  end
104
104
  end # Search
105
105
 
@@ -152,7 +152,7 @@ class Trailblazer::Activity
152
152
  def Merge(old_seq, new_seq, end_id: "End.success") # DISCUSS: also Insert
153
153
  new_seq = strip_start_and_ends(new_seq, end_id: end_id)
154
154
 
155
- seq = Insert.Prepend(old_seq, new_seq, end_id)
155
+ _seq = Insert.Prepend(old_seq, new_seq, end_id)
156
156
  end
157
157
  def strip_start_and_ends(seq, end_id:) # TODO: introduce Merge namespace?
158
158
  cut_off_index = end_id.nil? ? seq.size : Insert.find_index(seq, end_id) # find the "first" end.
@@ -170,14 +170,14 @@ class Trailblazer::Activity
170
170
  new_row = Sequence.create_row(**options)
171
171
 
172
172
  # {sequence_insert} is usually a function such as {Linear::Insert::Append} and its arguments.
173
- seq = Sequence.insert_row(sequence, row: new_row, insert: sequence_insert)
173
+ _seq = Sequence.insert_row(sequence, row: new_row, insert: sequence_insert)
174
174
  end
175
175
 
176
176
  # Add one or several rows to the {sequence}.
177
177
  # This is usually called from DSL methods such as {step}.
178
178
  def apply_adds_from_dsl(sequence, sequence_insert:, adds:, **options)
179
179
  # This is the ADDS for the actual task.
180
- task_add = {row: Sequence.create_row(options), insert: sequence_insert} # Linear::Insert.method(:Prepend), end_id
180
+ task_add = {row: Sequence.create_row(**options), insert: sequence_insert} # Linear::Insert.method(:Prepend), end_id
181
181
 
182
182
  Sequence.apply_adds(sequence, [task_add] + adds)
183
183
  end
@@ -2,7 +2,7 @@ module Trailblazer
2
2
  class Activity
3
3
  def self.FastTrack(options)
4
4
  Class.new(FastTrack) do
5
- initialize!(Railway::DSL::State.new(FastTrack::DSL.OptionsForState(options)))
5
+ initialize!(Railway::DSL::State.new(**FastTrack::DSL.OptionsForState(**options)))
6
6
  end
7
7
  end
8
8
 
@@ -130,8 +130,6 @@ module Trailblazer
130
130
  sequence = Path::DSL.append_end(sequence, task: pass_fast_end, magnetic_to: :pass_fast, id: "End.pass_fast")
131
131
  end
132
132
 
133
-
134
-
135
133
  # This is slow and should be done only once at compile-time,
136
134
  # DISCUSS: maybe make this a function?
137
135
  # These are the normalizers for an {Activity}, to be injected into a State.
@@ -142,7 +140,7 @@ module Trailblazer
142
140
  )
143
141
 
144
142
  def self.OptionsForState(normalizers: Normalizers, **options)
145
- options = Railway::DSL.OptionsForState(options).
143
+ options = Railway::DSL.OptionsForState(**options).
146
144
  merge(normalizers: normalizers)
147
145
 
148
146
  initial_sequence = FastTrack::DSL.initial_sequence(**options)
@@ -167,7 +165,7 @@ module Trailblazer
167
165
  include Activity::DSL::Linear::Helper
168
166
  extend Activity::DSL::Linear::Strategy
169
167
 
170
- initialize!(Railway::DSL::State.new(DSL.OptionsForState()))
168
+ initialize!(Railway::DSL::State.new(**DSL.OptionsForState()))
171
169
 
172
170
  end # FastTrack
173
171
  end
@@ -17,7 +17,7 @@ module Trailblazer
17
17
  def start_sequence(track_name:)
18
18
  start_default = Activity::Start.new(semantic: :default)
19
19
  start_event = Linear::Sequence.create_row(task: start_default, id: "Start.default", magnetic_to: nil, wirings: [Linear::Search::Forward(unary_outputs[:success], track_name)])
20
- sequence = Linear::Sequence[start_event]
20
+ _sequence = Linear::Sequence[start_event]
21
21
  end
22
22
 
23
23
  # DISCUSS: still not sure this should sit here.
@@ -81,12 +81,27 @@ module Trailblazer
81
81
  }
82
82
  end
83
83
 
84
+ def normalize_duplications((ctx, flow_options), *)
85
+ return Right, [ctx, flow_options] if ctx[:replace]
86
+
87
+ signal, (ctx, flow_options) = raise_on_duplicate_id([ctx, flow_options])
88
+ signal, (ctx, flow_options) = clone_duplicate_activity([ctx, flow_options])
89
+
90
+ return signal, [ctx, flow_options]
91
+ end
92
+
84
93
  def raise_on_duplicate_id((ctx, flow_options), *)
85
- id, sequence, insert = ctx[:id], ctx[:sequence], ctx[:sequence_insert][0] # DISCUSS: should we use Replace here or rather the option(s)?
94
+ id, sequence = ctx[:id], ctx[:sequence]
95
+ raise "ID #{id} is already taken. Please specify an `:id`." if sequence.find { |row| row[3][:id] == id }
86
96
 
87
- if insert != Linear::Insert.method(:Replace)
88
- raise "ID #{id} is already taken. Please specify an `:id`." if sequence.find { |row| row[3][:id] == id }
89
- end
97
+ return Right, [ctx, flow_options]
98
+ end
99
+
100
+ def clone_duplicate_activity((ctx, flow_options), *)
101
+ return Right, [ctx, flow_options] unless ctx[:task].is_a?(Class)
102
+
103
+ task, sequence = ctx[:task], ctx[:sequence]
104
+ ctx = ctx.merge(task: task.clone) if sequence.find { |row| row[1] == task }
90
105
 
91
106
  return Right, [ctx, flow_options]
92
107
  end
@@ -104,12 +119,12 @@ module Trailblazer
104
119
  prepend_to_path(
105
120
  sequence,
106
121
 
107
- "path.outputs" => method(:merge_path_outputs),
108
- "path.connections" => method(:merge_path_connections),
109
- "path.sequence_insert" => method(:normalize_sequence_insert),
110
- "path.raise_on_duplicate_id" => method(:raise_on_duplicate_id),
111
- "path.magnetic_to" => method(:normalize_magnetic_to),
112
- "path.wirings" => Linear::Normalizer.method(:compile_wirings),
122
+ "path.outputs" => method(:merge_path_outputs),
123
+ "path.connections" => method(:merge_path_connections),
124
+ "path.sequence_insert" => method(:normalize_sequence_insert),
125
+ "path.normalize_duplications" => method(:normalize_duplications),
126
+ "path.magnetic_to" => method(:normalize_magnetic_to),
127
+ "path.wirings" => Linear::Normalizer.method(:compile_wirings),
113
128
  )
114
129
  end
115
130
 
@@ -121,7 +136,7 @@ module Trailblazer
121
136
  end
122
137
 
123
138
  def append_end(sequence, **options)
124
- sequence = Linear::DSL.insert_task(sequence, **append_end_options(options))
139
+ sequence = Linear::DSL.insert_task(sequence, **append_end_options(**options))
125
140
  end
126
141
 
127
142
  def append_end_options(task:, magnetic_to:, id:, append_to: "End.success")
@@ -171,7 +186,7 @@ module Trailblazer
171
186
  # Path() do ... end
172
187
  class State < Linear::State
173
188
  def step(*args)
174
- seq = Linear::Strategy.task_for!(self, :step, *args) # mutate @state
189
+ _seq = Linear::Strategy.task_for!(self, :step, *args) # mutate @state
175
190
  end
176
191
  end
177
192
 
@@ -180,12 +195,12 @@ module Trailblazer
180
195
  include DSL::Linear::Helper
181
196
  extend DSL::Linear::Strategy
182
197
 
183
- initialize!(Path::DSL::State.new(DSL.OptionsForState()))
198
+ initialize!(Path::DSL::State.new(**DSL.OptionsForState()))
184
199
  end # Path
185
200
 
186
201
  def self.Path(options)
187
202
  Class.new(Path) do
188
- initialize!(Path::DSL::State.new(Path::DSL.OptionsForState(options)))
203
+ initialize!(Path::DSL::State.new(**Path::DSL.OptionsForState(**options)))
189
204
  end
190
205
  end
191
206
  end
@@ -135,7 +135,7 @@ module Trailblazer
135
135
  )
136
136
 
137
137
  def self.OptionsForState(normalizers: Normalizers, failure_end: Activity::End.new(semantic: :failure), **options)
138
- options = Path::DSL.OptionsForState(options).
138
+ options = Path::DSL.OptionsForState(**options).
139
139
  merge(normalizers: normalizers, failure_end: failure_end)
140
140
 
141
141
  initial_sequence = Railway::DSL.initial_sequence(failure_end: failure_end, **options)
@@ -161,13 +161,13 @@ module Trailblazer
161
161
  include DSL::Linear::Helper
162
162
  extend DSL::Linear::Strategy
163
163
 
164
- initialize!(Railway::DSL::State.new(DSL.OptionsForState()))
164
+ initialize!(Railway::DSL::State.new(**DSL.OptionsForState()))
165
165
 
166
166
  end # Railway
167
167
 
168
168
  def self.Railway(options)
169
169
  Class.new(Railway) do
170
- initialize!(Railway::DSL::State.new(Railway::DSL.OptionsForState(options)))
170
+ initialize!(Railway::DSL::State.new(**Railway::DSL.OptionsForState(**options)))
171
171
  end
172
172
  end
173
173
  end
@@ -19,12 +19,12 @@ Gem::Specification.new do |spec|
19
19
  end
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_dependency "trailblazer-activity", ">= 0.11.3", "< 1.0.0"
22
+ spec.add_dependency "trailblazer-activity", ">= 0.12.2", "< 0.13.0"
23
23
 
24
24
  spec.add_development_dependency "bundler"
25
25
  spec.add_development_dependency "minitest", "~> 5.0"
26
26
  spec.add_development_dependency "rake"
27
- spec.add_development_dependency "trailblazer-developer", ">= 0.0.3"
27
+ spec.add_development_dependency "trailblazer-developer", ">= 0.0.21"
28
28
 
29
29
  spec.required_ruby_version = '>= 2.1.0'
30
30
  end
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: 0.3.5
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-17 00:00:00.000000000 Z
11
+ date: 2021-11-26 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.11.3
19
+ version: 0.12.2
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 1.0.0
22
+ version: 0.13.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.11.3
29
+ version: 0.12.2
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 1.0.0
32
+ version: 0.13.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: bundler
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -78,14 +78,14 @@ dependencies:
78
78
  requirements:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: 0.0.3
81
+ version: 0.0.21
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
- version: 0.0.3
88
+ version: 0.0.21
89
89
  description: Simple DSL to define Trailblazer activities with arbitrary wirings.
90
90
  email:
91
91
  - apotonick@gmail.com
@@ -93,8 +93,8 @@ executables: []
93
93
  extensions: []
94
94
  extra_rdoc_files: []
95
95
  files:
96
+ - ".github/workflows/ci.yml"
96
97
  - ".gitignore"
97
- - ".travis.yml"
98
98
  - CHANGES.md
99
99
  - DSL_IDEAS
100
100
  - Gemfile
@@ -118,7 +118,7 @@ homepage: http://trailblazer.to
118
118
  licenses:
119
119
  - LGPL-3.0
120
120
  metadata: {}
121
- post_install_message:
121
+ post_install_message:
122
122
  rdoc_options: []
123
123
  require_paths:
124
124
  - lib
@@ -133,8 +133,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
133
  - !ruby/object:Gem::Version
134
134
  version: '0'
135
135
  requirements: []
136
- rubygems_version: 3.0.8
137
- signing_key:
136
+ rubygems_version: 3.2.3
137
+ signing_key:
138
138
  specification_version: 4
139
139
  summary: Simple DSL to define Trailblazer activities.
140
140
  test_files: []
data/.travis.yml DELETED
@@ -1,8 +0,0 @@
1
- language: ruby
2
- rvm:
3
- #- ruby-head
4
- - 2.6.6
5
- - 2.5.1
6
- - 2.4.4
7
-
8
- cache: bundler