rao-service_chain 0.0.38.pre → 0.0.39.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: 8e5e8c17080f335d7dca5868c7ebb9b634ac4875dc3f0da34a980636bfefcb73
4
- data.tar.gz: b0e57dd2954bfbbf1f4b2baeacc1f21a7f4e5163296547eea4073b61ad5ef65b
3
+ metadata.gz: e9e4b9efe0030c20f69357eeb371c6d282da891fc7c7643c950f2f405f0af7f3
4
+ data.tar.gz: 1aab9d9121f5703ef6d8a116b666cf6c5ffd9723c555c2e5f078cef85c62396e
5
5
  SHA512:
6
- metadata.gz: 85191653db150a484fc6ec8af2146fc8d1d042711e775a45243ce7165a543753e1c18f3f06bba02b79151b0c8c1de27312837a5a42cd7d477ebf638084880907
7
- data.tar.gz: 2b31b9257e8b961eca6f51c27084d72471b39dc8aa8b15a329f9568f137227f0e0b73902d89d5c455c0306ff0c89e17006d6a246b6fc4896ed9fe97c180bdf4a
6
+ metadata.gz: d6902664dd35ae70579c2c47948e31ea0447049b284743dfe8bce99f313d8d9c2c476039024d49cb3c387911cad3bf8c8d6b49e6540c1ef23b74d4ee002d37ed
7
+ data.tar.gz: bf67afcc6375b50586f07736cf1b15377282dfed438954fd5169cc54405612e16dcbfc1f4c9634e9f397145ae1048d2ee8a7f3b081827bd36cab04fd60b9bf53
@@ -25,6 +25,25 @@ module Rao
25
25
  @chain.instance_exec(@service, &@completed_if)
26
26
  end
27
27
 
28
+ def render_as_completed?(options = {})
29
+ render_previous_steps_as_pending = options.dig(:previous_steps, :render_as_pending)
30
+ render_next_step_as_pending = options.dig(:next_steps, :render_as_pending)
31
+
32
+ if @chain.before_actual?(self)
33
+ if render_previous_steps_as_pending
34
+ completed?
35
+ else
36
+ true
37
+ end
38
+ else
39
+ if render_next_step_as_pending
40
+ false
41
+ else
42
+ completed?
43
+ end
44
+ end
45
+ end
46
+
28
47
  def pending?
29
48
  !completed?
30
49
  end
@@ -20,17 +20,23 @@ module Rao
20
20
  #
21
21
  def render_progress(service_chain, options = {})
22
22
  return if service_chain.nil?
23
-
24
- options.reverse_merge!(
25
- theme: :bootstrap4,
26
- link_next_steps: true,
27
- link_actual_step: false,
28
- link_previous_steps: true
29
- )
23
+
24
+ options = default_options.deep_merge(options)
30
25
  theme = options.delete(:theme)
31
26
 
32
27
  c.render partial: "rao/service_chain/application_view_helper/render_progress/#{theme}", locals: { service_chain: service_chain, options: options }
33
28
  end
29
+
30
+ private
31
+
32
+ def default_options
33
+ {
34
+ theme: :bootstrap4,
35
+ next_steps: { render_as_pending: false, link: true },
36
+ actual_step: { link: false },
37
+ previous_steps: { render_as_pending: true, link: true }
38
+ }
39
+ end
34
40
  end
35
41
  end
36
42
  end
@@ -8,19 +8,19 @@
8
8
  %span.wizard-step-marker.rounded-circle.bg-primary.text-white
9
9
  %i.fas.fa-play
10
10
  %span.wizard-step-label
11
- - if options[:link_actual_step]
11
+ - if options.dig(:actual_step, :link)
12
12
  = link_to(step.label, step.url(self))
13
13
  - else
14
14
  = step.label
15
15
  - else
16
- - if step.completed?
17
- %span.wizard-step-marker.rounded-circle.bg-success.text-white
16
+ - if step.render_as_completed?(options)
17
+ %span.wizard-step-marker.rounded-circle.bg-success.text-white.render-completed
18
18
  %i.fas.fa-check
19
19
  - else
20
- %span.wizard-step-marker.rounded-circle.bg-secondary.text-white
20
+ %span.wizard-step-marker.rounded-circle.bg-secondary.text-white.render-pending
21
21
  %i.fas.fa-circle
22
22
  %span.wizard-step-label
23
- - if (service_chain.before_actual?(step) && options[:link_previous_steps]) || (service_chain.after_actual?(step) && options[:link_next_steps])
23
+ - if (service_chain.before_actual?(step) && options.dig(:previous_steps, :link)) || (service_chain.after_actual?(step) && options.dig(:next_steps, :link))
24
24
  = link_to(step.label, step.url(self))
25
25
  - else
26
26
  = step.label
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.38.pre
4
+ version: 0.0.39.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-13 00:00:00.000000000 Z
11
+ date: 2020-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -195,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
195
  - !ruby/object:Gem::Version
196
196
  version: 1.3.1
197
197
  requirements: []
198
- rubygems_version: 3.0.6
198
+ rubygems_version: 3.1.2
199
199
  signing_key:
200
200
  specification_version: 4
201
201
  summary: Service Chains for Ruby on Rails.