rao-service_chain 0.0.38.pre → 0.0.39.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: 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.