step-track 0.4.3 → 0.4.4

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