step-track 0.3.3 → 0.4.0

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: bc50b128bbf34ac66883d612e505726bbb4e9f64
4
- data.tar.gz: f2575a7a94f5dbd39f985a0019bd7c94117fd271
3
+ metadata.gz: 4a0bf2ec6b3a6e6f8598448e7e1ddbfd6fda1c12
4
+ data.tar.gz: 83adeac1520de8022874b87ce25f007759a9ab06
5
5
  SHA512:
6
- metadata.gz: cd7889d54b30b00638136ce29bb311e8608f46efe311ead7908ab5900ec772cc1734923ac94d5bf00c26e19e6d60ed3358620d3c92c3506ad1a542e0c5936cdf
7
- data.tar.gz: 090e8bbd1cdee43a78498c6b844026ef543c0ee65c71e6b983e78d48d28c191efb8d2e9f9e9684adab30bcd04337c6a3419445649f807f29ed3951447f3a90fd
6
+ metadata.gz: 1dcb19876dbc655a30629b8e406a129928721132597b906ed95a92accf6e17b7221f0e904c201555fb3b258bb002f21a00d8c24d0302f9bb55dd1bdf9d5ccb56
7
+ data.tar.gz: 975b29eec0db2f6fab3b318026e0ec27dd040605c21edc9cbd8e0f203846b13761c73deb7d2ec1366fd2838587f14b69414cf8ab9588d100ab7d89d0100b607a
data/lib/step_track.rb CHANGED
@@ -40,7 +40,13 @@ module StepTrack
40
40
  last_step[:final_step_name] = last_step.delete(:step_name)
41
41
  result.merge!(last_step)
42
42
  steps.each_with_index do |step, i|
43
- name = step.delete(:step_name)
43
+ name = name_dupe = step.delete(:step_name)
44
+ j = 0
45
+ while result.key?("step_#{name_dupe}_i".to_sym)
46
+ j += 1
47
+ name_dupe = "#{name}_#{j}"
48
+ end
49
+ name = name_dupe
44
50
  [:split, :duration].each { |k| step[k] = (step[k] * 1000).to_i }
45
51
  result.merge!(step.merge(i: i + 1).
46
52
  map { |k, v| ["step_#{name}_#{k}".to_sym, v] }.to_h)
@@ -1,3 +1,3 @@
1
1
  module StepTrack
2
- VERSION = "0.3.3"
2
+ VERSION = "0.4.0"
3
3
  end
@@ -46,9 +46,9 @@ describe "StepTrack" do
46
46
  data = Thread.current[StepTrack.send(:ref, "test")]
47
47
  step = data[:steps].first
48
48
  assert_equal 1, data[:steps].size
49
- assert_equal "step", step[:name]
49
+ assert_equal "step", step[:step_name]
50
50
  assert_equal "bar", step[:moo]
51
- expected_keys = [:name, :split, :duration, :time, :caller]
51
+ expected_keys = [:split, :duration, :time, :caller]
52
52
  assert_equal expected_keys, expected_keys & step.keys
53
53
  end
54
54
 
@@ -100,19 +100,30 @@ describe "StepTrack" do
100
100
 
101
101
  it "merges the last step into result" do
102
102
  result = StepTrack.done("test")
103
- assert_equal "last", result[:name]
104
- expected_keys = [:name, :split, :duration, :caller]
103
+ assert_equal "last", result[:final_step_name]
104
+ expected_keys = [:split, :duration, :caller]
105
105
  assert_equal expected_keys, expected_keys & result.keys
106
106
  end
107
107
 
108
108
  it "enumerates every step into result" do
109
109
  result = StepTrack.done("test")
110
- expected_key_parts = [:name, :split, :duration, :caller]
110
+ expected_key_parts = [:split, :duration, :caller]
111
111
 
112
112
  ["step", "last"].each_with_index do |n, i|
113
113
  expected_keys = expected_key_parts.map { |k| "step_#{n}_#{k}".to_sym }
114
114
  assert_equal expected_keys, expected_keys & result.keys
115
115
  end
116
116
  end
117
+
118
+ it "enumerate duplicated step names with index in the result" do
119
+ StepTrack.push("test", "last", gnu: "blu")
120
+ result = StepTrack.done("test")
121
+ expected_key_parts = [:split, :duration, :caller]
122
+
123
+ ["step", "last", "last_1"].each_with_index do |n, i|
124
+ expected_keys = expected_key_parts.map { |k| "step_#{n}_#{k}".to_sym }
125
+ assert_equal expected_keys, expected_keys & result.keys
126
+ end
127
+ end
117
128
  end
118
129
  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.3.3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthias Geier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-03 00:00:00.000000000 Z
11
+ date: 2017-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest