rao-service_chain 0.0.44.pre → 0.0.48.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- metadata +8 -9
- data/app/service_chains/rao/service_chain/base~.rb +0 -151
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9efc731c91cb4d83b61d71a3e9f37bd224ac28805d0ec1cdf63e42e20bd8a4a6
|
4
|
+
data.tar.gz: 4a80dfaea6b7f639d438a7c87939aff841fc7fd66703ccca8da7116d0e938a46
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0dc87fa1e012cac1ca98da82ef939037f5efad471a6dc558a377d1e1df3ab7fa7ad304f95550fba0a2d250835572c142a6df3fb4c6d57650ce7bade6a3f53d4
|
7
|
+
data.tar.gz: 19e76931cb235768df4f6d576574886ed8ff189747550be6367331ff28a1352f1d350bdf3f805628df5a82792f91a69ed7950342b5af4533705d8a57ae3552ee
|
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.
|
4
|
+
version: 0.0.48.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:
|
11
|
+
date: 2021-07-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '6.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: '6.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rao-service
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
89
|
+
version: '1.4'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
96
|
+
version: '1.4'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rspec-rails
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -181,7 +181,6 @@ files:
|
|
181
181
|
- app/service_chains/rao/service_chain/aasm.rb
|
182
182
|
- app/service_chains/rao/service_chain/aasm/base.rb
|
183
183
|
- app/service_chains/rao/service_chain/base.rb
|
184
|
-
- app/service_chains/rao/service_chain/base~.rb
|
185
184
|
- app/service_steps/rao/service_chain/step/base.rb
|
186
185
|
- app/view_helpers/rao/service_chain/application_view_helper.rb
|
187
186
|
- app/views/rao/service_chain/application_view_helper/render_progress/_bootstrap4.html.haml
|
@@ -205,14 +204,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
205
204
|
requirements:
|
206
205
|
- - ">="
|
207
206
|
- !ruby/object:Gem::Version
|
208
|
-
version:
|
207
|
+
version: 2.6.0
|
209
208
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
210
209
|
requirements:
|
211
210
|
- - ">"
|
212
211
|
- !ruby/object:Gem::Version
|
213
212
|
version: 1.3.1
|
214
213
|
requirements: []
|
215
|
-
rubygems_version: 3.
|
214
|
+
rubygems_version: 3.2.24
|
216
215
|
signing_key:
|
217
216
|
specification_version: 4
|
218
217
|
summary: Service Chains for Ruby on Rails.
|
@@ -1,151 +0,0 @@
|
|
1
|
-
module Rao
|
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
|
11
|
-
if @actual_step.present?
|
12
|
-
actual_service = unwrap(@actual_step)
|
13
|
-
@actual_step = find_step_by_service(actual_service)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def wrap_actual_step!
|
18
|
-
@actual_step = wrap(@actual_step)
|
19
|
-
end
|
20
|
-
|
21
|
-
def steps=(steps)
|
22
|
-
@steps = steps.map { |s| wrap(s) }
|
23
|
-
end
|
24
|
-
|
25
|
-
def steps
|
26
|
-
raise "Child class responsiblity"
|
27
|
-
end
|
28
|
-
|
29
|
-
def step_index(step)
|
30
|
-
self.steps.map(&:service).index(step.try(:service))
|
31
|
-
end
|
32
|
-
|
33
|
-
def service_index(service)
|
34
|
-
self.steps.map(&:service).index(service)
|
35
|
-
end
|
36
|
-
|
37
|
-
def find_step_by_service(service)
|
38
|
-
self.steps[(service_index(service))]
|
39
|
-
end
|
40
|
-
|
41
|
-
def actual_step_index
|
42
|
-
self.steps.map(&:service).index(self.actual_step.try(:service))
|
43
|
-
end
|
44
|
-
|
45
|
-
def step_count
|
46
|
-
self.steps.size
|
47
|
-
end
|
48
|
-
|
49
|
-
def previous_step_index
|
50
|
-
self.steps.map(&:service).index(self.previous_step.try(:service))
|
51
|
-
end
|
52
|
-
|
53
|
-
def next_step_index
|
54
|
-
self.steps.map(&:service).index(self.next_step.try(:service))
|
55
|
-
end
|
56
|
-
|
57
|
-
def previous_step
|
58
|
-
return nil if self.actual_step_index.nil?
|
59
|
-
return nil if self.actual_step_index - 1 < 0
|
60
|
-
self.steps[self.actual_step_index - 1]
|
61
|
-
end
|
62
|
-
|
63
|
-
def previous_steps
|
64
|
-
return [] if self.actual_step_index.nil?
|
65
|
-
return [] if self.actual_step_index == 0
|
66
|
-
self.steps[0..(self.actual_step_index - 1)]
|
67
|
-
end
|
68
|
-
|
69
|
-
def next_step
|
70
|
-
if self.actual_step.try(:next_step).respond_to?(:call)
|
71
|
-
find_step_by_service(self.actual_step.next_step.call(self.actual_step))
|
72
|
-
else
|
73
|
-
return nil if self.actual_step_index.nil?
|
74
|
-
return nil if self.actual_step_index + 1 >= self.step_count
|
75
|
-
self.steps[self.actual_step_index + 1]
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
def next_steps
|
80
|
-
return [] if self.actual_step_index.nil?
|
81
|
-
self.steps[(self.actual_step_index + 1)..-1]
|
82
|
-
end
|
83
|
-
|
84
|
-
def next_step?
|
85
|
-
!!next_step
|
86
|
-
end
|
87
|
-
|
88
|
-
def previous_step?
|
89
|
-
!!previous_step
|
90
|
-
end
|
91
|
-
|
92
|
-
def next_step_url(options = {})
|
93
|
-
context = options.delete(:context)
|
94
|
-
self.next_step.url(context)
|
95
|
-
end
|
96
|
-
|
97
|
-
def steps_with_urls(context)
|
98
|
-
self.steps.map { |s| s.url(context); s }
|
99
|
-
end
|
100
|
-
|
101
|
-
def to_hash(context = nil)
|
102
|
-
{
|
103
|
-
actual_step: self.actual_step.to_hash(context),
|
104
|
-
steps: self.steps.map { |s| s.to_hash(context) }
|
105
|
-
}
|
106
|
-
end
|
107
|
-
|
108
|
-
def completed_steps
|
109
|
-
self.steps.collect { |s| s.completed? ? s : nil }.compact
|
110
|
-
end
|
111
|
-
|
112
|
-
def pending_steps
|
113
|
-
self.steps.collect { |s| s.pending? ? s : nil }.compact
|
114
|
-
end
|
115
|
-
|
116
|
-
def before_actual?(step)
|
117
|
-
return false if self.actual_step.nil?
|
118
|
-
return false if (si = step_index(wrap(step))).nil?
|
119
|
-
self.actual_step_index > si
|
120
|
-
end
|
121
|
-
|
122
|
-
def after_actual?(step)
|
123
|
-
return false if self.actual_step.nil?
|
124
|
-
return false if (si = step_index(wrap(step))).nil?
|
125
|
-
self.actual_step_index < si
|
126
|
-
end
|
127
|
-
|
128
|
-
private
|
129
|
-
|
130
|
-
def wrap(service, options = {})
|
131
|
-
if service.is_a?(wrapper_base_class)
|
132
|
-
service
|
133
|
-
else
|
134
|
-
wrapper_base_class.new(options.merge(service: service, chain: self))
|
135
|
-
end
|
136
|
-
end
|
137
|
-
|
138
|
-
def unwrap(step_or_service)
|
139
|
-
if step_or_service.is_a?(wrapper_base_class)
|
140
|
-
step_or_service.service
|
141
|
-
else
|
142
|
-
step_or_service
|
143
|
-
end
|
144
|
-
end
|
145
|
-
|
146
|
-
def wrapper_base_class
|
147
|
-
Rao::ServiceChain::Step::Base
|
148
|
-
end
|
149
|
-
end
|
150
|
-
end
|
151
|
-
end
|