step-track 0.3.3 → 0.4.0

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