rao-service_chain 0.0.36.pre → 0.0.38.pre

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