flow 0.2.0 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 46f3b0a498f717414773a7c8262c4a045a229007c4066327929c41112ced44d0
4
- data.tar.gz: 354e5069d30b3fc634c54d3c0170b7b2e4f84682cd2c9f52e84e47651bd1414b
3
+ metadata.gz: 76a25492b68978e0c6dd95fe793c915181ec5943da1009c95e3411529aed8947
4
+ data.tar.gz: a652814c8cf408281de94acf9197d040ba458cc07e547592bd485a35097cbc67
5
5
  SHA512:
6
- metadata.gz: 5d13a497617cf8aa949ca0c77d45d27613321a9417fde96f3f3a8c4a9874954243c29e7766bf0ca94bf3908e70238920e15a9eb4fe739012cfbe74a3e6eaad78
7
- data.tar.gz: cd3a356d664d7b4b334cdc436cd03f382c48d57b81e9dc3664990d502a64e39d7fd15b9c2804a88dca9a0d3066ea7d593a3b22272886d190c283ccc5fabe4061
6
+ metadata.gz: 047c0d4f98028c99f8929fb8d850b6b35772a1689d28e268caa0944486b1ca8960bebc8335f36bd21a45f68a201076e9640d3558feb6f9c7efedcdef9a44dbe0
7
+ data.tar.gz: 983411cc472456dad56653736ec4e8430919fdc0af6fb15f6076b2d684e10279695017061766aa7d8495245ba501ffd4ee93c74ad3b385ac64d4b9cddab7758d
@@ -2,6 +2,8 @@
2
2
 
3
3
  # A flow is a collection of procedurally executed operations sharing a common state.
4
4
  class FlowBase
5
+ include Technologic
6
+
5
7
  class_attribute :_operations, instance_writer: false, default: []
6
8
 
7
9
  class << self
@@ -32,7 +34,10 @@ class FlowBase
32
34
  end
33
35
 
34
36
  def trigger
35
- _operations.each { |operation| operation.execute(state) }
37
+ surveil(:trigger) do
38
+ _operations.each { |operation| operation.execute(state) }
39
+ end
40
+
36
41
  state
37
42
  end
38
43
  end
@@ -14,5 +14,14 @@ module Operation
14
14
  def execute
15
15
  raise NotImplementedError
16
16
  end
17
+
18
+ included do
19
+ include AroundTheWorld
20
+ include Technologic
21
+
22
+ around_method :execute, prevent_double_wrapping_for: Technologic do
23
+ surveil(:execute) { super() }
24
+ end
25
+ end
17
26
  end
18
27
  end
@@ -5,7 +5,6 @@ require_relative "operation/execute"
5
5
 
6
6
  # Operations are service objects which are executed with a state.
7
7
  class OperationBase
8
- include Technologic
9
8
  include Operation::Core
10
9
  include Operation::Execute
11
10
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Flow
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Garside
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-02 00:00:00.000000000 Z
11
+ date: 2018-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.4.3
47
+ version: 0.5.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.4.3
54
+ version: 0.5.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement