flow 0.2.0 → 0.3.0

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: 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