rao-service_chain 0.0.36.pre → 0.0.38.pre

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: a484aa3db5835d220e458a08a54de6e6566f022827584726849d886a5af62564
4
- data.tar.gz: 3ff63bd8df3c8488d6d66ed7466ab4281911fb466f6701f184a7d3b28827ace3
3
+ metadata.gz: 8e5e8c17080f335d7dca5868c7ebb9b634ac4875dc3f0da34a980636bfefcb73
4
+ data.tar.gz: b0e57dd2954bfbbf1f4b2baeacc1f21a7f4e5163296547eea4073b61ad5ef65b
5
5
  SHA512:
6
- metadata.gz: 3f517402d68b47f6e06ad4638abceec5dfe2e5294b51c9ead78311c103951a6e26b8af0b4a5dc4d8588e667d75f43602d687979be93b9638445979a3f1f5933c
7
- data.tar.gz: 499bfbbc30874d793a892005039de3ae0fba012dc467cfb14c036fd3a4d8c65810219b9ac31da8c516d831e20f7bae7ff578fe0c96c5f547f35fd81d6c6daf4f
6
+ metadata.gz: 85191653db150a484fc6ec8af2146fc8d1d042711e775a45243ce7165a543753e1c18f3f06bba02b79151b0c8c1de27312837a5a42cd7d477ebf638084880907
7
+ data.tar.gz: 2b31b9257e8b961eca6f51c27084d72471b39dc8aa8b15a329f9568f137227f0e0b73902d89d5c455c0306ff0c89e17006d6a246b6fc4896ed9fe97c180bdf4a
@@ -1,29 +1,29 @@
1
1
  module Rao
2
2
  module ServiceChain
3
- class Base
4
- attr_accessor :steps
5
- attr_accessor :actual_step
6
-
7
- def initialize(options = {})
8
- options.each do |key, value|
9
- self.send("#{key}=", value)
10
- end
3
+ class Base
4
+ attr_accessor :steps
5
+ attr_accessor :actual_step
6
+
7
+ def initialize(options = {})
8
+ options.each do |key, value|
9
+ self.send("#{key}=", value)
10
+ end
11
11
  wrap_actual_step! if @actual_step.present?
12
- end
12
+ end
13
13
 
14
14
  def wrap_actual_step!
15
15
  @actual_step = wrap(@actual_step)
16
16
  end
17
17
 
18
- def steps=(steps)
19
- @steps = steps.map { |s| wrap(s) }
20
- end
18
+ def steps=(steps)
19
+ @steps = steps.map { |s| wrap(s) }
20
+ end
21
21
 
22
- def steps
23
- raise "Child class responsiblity"
24
- end
22
+ def steps
23
+ raise "Child class responsiblity"
24
+ end
25
25
 
26
- def step_index(step)
26
+ def step_index(step)
27
27
  self.steps.map(&:service).index(step.try(:service))
28
28
  end
29
29
 
@@ -36,17 +36,17 @@ module Rao
36
36
  end
37
37
 
38
38
  def previous_step_index
39
- self.steps.map(&:service).index(self.previous_step.try(:service))
39
+ self.steps.map(&:service).index(self.previous_step.try(:service))
40
40
  end
41
41
 
42
42
  def next_step_index
43
- self.steps.map(&:service).index(self.next_step.try(:service))
43
+ self.steps.map(&:service).index(self.next_step.try(:service))
44
44
  end
45
45
 
46
46
  def previous_step
47
47
  return nil if self.actual_step_index.nil?
48
- return nil if self.actual_step_index - 1 < 0
49
- self.steps[self.actual_step_index - 1]
48
+ return nil if self.actual_step_index - 1 < 0
49
+ self.steps[self.actual_step_index - 1]
50
50
  end
51
51
 
52
52
  def previous_steps
@@ -57,8 +57,8 @@ module Rao
57
57
 
58
58
  def next_step
59
59
  return nil if self.actual_step_index.nil?
60
- return nil if self.actual_step_index + 1 >= self.step_count
61
- self.steps[self.actual_step_index + 1]
60
+ return nil if self.actual_step_index + 1 >= self.step_count
61
+ self.steps[self.actual_step_index + 1]
62
62
  end
63
63
 
64
64
  def next_steps
@@ -67,16 +67,16 @@ module Rao
67
67
  end
68
68
 
69
69
  def next_step?
70
- !!next_step
70
+ !!next_step
71
71
  end
72
72
 
73
73
  def previous_step?
74
- !!previous_step
74
+ !!previous_step
75
75
  end
76
76
 
77
77
  def next_step_url(options = {})
78
- context = options.delete(:context)
79
- self.next_step.url(context)
78
+ context = options.delete(:context)
79
+ self.next_step.url(context)
80
80
  end
81
81
 
82
82
  def steps_with_urls(context)
@@ -113,8 +113,13 @@ module Rao
113
113
  private
114
114
 
115
115
  def wrap(service, options = {})
116
- Rao::ServiceChain::Step::Base.new(options.merge(service: service, chain: self))
117
- end
118
- end
116
+ wrapper_class = Rao::ServiceChain::Step::Base
117
+ if service.is_a?(wrapper_class)
118
+ service
119
+ else
120
+ wrapper_class.new(options.merge(service: service, chain: self))
121
+ end
122
+ end
123
+ end
119
124
  end
120
125
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rao-service_chain
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.36.pre
4
+ version: 0.0.38.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Vasquez Angel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-05 00:00:00.000000000 Z
11
+ date: 2019-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails