lokap-composite 0.0.3 → 0.0.4

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: '06936c4f09af56c15dc140bb5f7839574e332fd3d9de56bd86afaf712831667e'
4
- data.tar.gz: 1afb4f317e093d8f329cc30e8274eaa5b9ee500c8bbfaf0715a0edf291abbc5a
3
+ metadata.gz: 93f5b1365b9fb098e6eb272d7ca759b79924ef4818d49c1f20729411815c3092
4
+ data.tar.gz: 8188f6b5502593583bf0082d3e0cdd004c9e5cf402fe786013493663a9ee7232
5
5
  SHA512:
6
- metadata.gz: 0db7115a40d65351ef29880b33700c2ae06abbfe45d3c2db3f81d9420fc4d6b535a7fa836561c2bb609c0e6ff19b18da97f31a56b517f96a7d6cb3f54c1ec412
7
- data.tar.gz: 797b4d74b364c07dc745553e7aed0734de15aaf507b085f4b0a187810b6157d9bc9d5ebb77c5f5fbeea8c5ff5beb1c8e4f09e54fed4ee1bdd8462ff1468f1e6d
6
+ metadata.gz: 4335756e3442351868c7353516ca6b1a548684253e8914e338a2e82ad8f4fad2d270d4f0bcf89e2d17459d97edfc652fa43f726718dd3614247a111b4000bf25
7
+ data.tar.gz: cb7f345f6af6284665110a9685b945215fdd0b376699625507bcde02aa18f7b3bc933a8de8a1d68da29a4c8901099e3e0225e72a0ba717c8561ebc0b9b965f3f
@@ -22,23 +22,35 @@ module Lokap
22
22
  end
23
23
 
24
24
  def process
25
- before_process
25
+ before_all
26
26
 
27
27
  steps.each do |step|
28
- step.before_perform
28
+ before_each
29
+
30
+ step.before_step
29
31
  step.perform
30
- step.after_perform
32
+ step.after_step
33
+
34
+ after_each
31
35
  end
32
36
 
33
- after_process; self
37
+ after_all; self
38
+ end
39
+
40
+ def before_each
41
+ # noop
42
+ end
43
+
44
+ def after_each
45
+ # noop
34
46
  end
35
47
 
36
- def before_process
37
- messages << "Composite #{self.class.name}: Starting..."
48
+ def before_all
49
+ messages << "#{self.class.name} Processing..."
38
50
  end
39
51
 
40
- def after_process
41
- messages << "Composite #{self.class.name}: Finished."
52
+ def after_all
53
+ messages << "#{self.class.name} Done."
42
54
  end
43
55
  end
44
56
 
@@ -53,16 +65,15 @@ module Lokap
53
65
  end
54
66
 
55
67
  def perform
56
- raise AbstractMethodError,
57
- "Child class must impelement abstract method: #{method_name}"
68
+ raise AbstractMethodError, "Child class must impelement method: #{method_name}"
58
69
  end
59
70
 
60
- def before_perform
61
- composite.messages << "Step #{self.class.name}: Starting..."
71
+ def before_step
72
+ composite.messages << " #{self.class.name} Performing..."
62
73
  end
63
74
 
64
- def after_perform
65
- composite.messages << "Step #{self.class.name}: Finished."
75
+ def after_step
76
+ composite.messages << " #{self.class.name} Done."
66
77
  end
67
78
  end
68
79
  end
data/lib/lokap/step.rb ADDED
@@ -0,0 +1,22 @@
1
+ class Composite::Step
2
+ class AbstractMethodError < StandardError; end
3
+
4
+ attr_accessor :composite, :options
5
+
6
+ def initialize(composite, options={})
7
+ @composite = composite
8
+ @options = options
9
+ end
10
+
11
+ def perform
12
+ raise AbstractMethodError, "Child class must impelement method: #{method_name}"
13
+ end
14
+
15
+ def before_step
16
+ composite.messages << "→ #{self.class.name} Performing..."
17
+ end
18
+
19
+ def after_step
20
+ composite.messages << "→ #{self.class.name} Done."
21
+ end
22
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lokap-composite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Bair
@@ -23,6 +23,7 @@ files:
23
23
  - README.md
24
24
  - Rakefile
25
25
  - lib/lokap/composite.rb
26
+ - lib/lokap/step.rb
26
27
  homepage: https://github.com/adambair/lokap-composite
27
28
  licenses:
28
29
  - Nonstandard