step-track 0.4.3 → 0.4.4

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
  SHA1:
3
- metadata.gz: e07586e83aac33945941c1d8407feb615dab0df7
4
- data.tar.gz: c0a165cd3dd240336eef22fafcf65c843a58d517
3
+ metadata.gz: 2910a2b3884ec1d6c4dc68c915b635bebca88289
4
+ data.tar.gz: 6a69a58a9bd79328406355ba006a69f92b9e94f1
5
5
  SHA512:
6
- metadata.gz: 236e093a4212814dd77ee50248cee3cdd409658c36a4e8a2f8a67ed4c74cc62e91709b4cc5fec4866353c638e1da90729284199412814eca78f67b3d5f297d87
7
- data.tar.gz: 7ac7549eaaf39c060934707c24eb55e6aecb705704e92bd43a1a8754a72446575e496ddde9f62e5439e6233ae3b7f2231649b8b01a991dac31622baeb16c4356
6
+ metadata.gz: de480c9050dbf991ead7d0ffa53a300bb3a21a3278b6e3ed01e653b93137efc446cd24f4dac5e2cb7fa7bd9086e72e67c272c4e44e82acdd8333aba1d460c851
7
+ data.tar.gz: 1b99f2d02ae9c1bf0443baab7f99a1267e2126295ef27a7d43445a0b6ff2ea93b7ab3940101c3e37b2c423c9170f4948f56c8613d540a1dfaa32f6708ebcd1ef
data/lib/step_track.rb CHANGED
@@ -57,6 +57,25 @@ module StepTrack
57
57
  return track_ref[:callback].call(result)
58
58
  end
59
59
 
60
+ def partition_into(payload, name)
61
+ payload, other = payload.partition do |k, _v|
62
+ k.to_s !~ /^step_#{name}_/
63
+ end.map(&:to_h)
64
+ prev_pattern = /^step_#{name}_([^\d].*)$/
65
+ other = other.reduce([{}]) do |acc, (k, v)|
66
+ match = k.to_s.match(prev_pattern)
67
+ unless match
68
+ acc << {}
69
+ digit = k.to_s.match(/^step_#{name}_(\d+)/).captures.first
70
+ prev_pattern = /^step_#{name}_#{digit}_(.*)$/
71
+ match = k.to_s.match(prev_pattern)
72
+ end
73
+ acc.last[match.captures.first.to_sym] = v
74
+ next acc
75
+ end.reject(&:empty?)
76
+ return payload, other
77
+ end
78
+
60
79
  private
61
80
 
62
81
  def ref(track)
@@ -1,3 +1,3 @@
1
1
  module StepTrack
2
- VERSION = "0.4.3"
2
+ VERSION = "0.4.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: step-track
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthias Geier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-24 00:00:00.000000000 Z
11
+ date: 2018-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest