Skip to content

Commit 08ad011

Browse files
Convert tracked to array
1 parent 0b42337 commit 08ad011

2 files changed

Lines changed: 17 additions & 16 deletions

File tree

gems/smithy-client/lib/smithy-client/features.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ def track(*features, &block)
1515

1616
def tracked
1717
Thread.current[:smithy_ruby_features] || Set.new
18+
Thread.current[:smithy_ruby_features].to_a
1819
end
1920
end
2021
end

gems/smithy-client/spec/smithy-client/features_spec.rb

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,35 +6,35 @@ module Smithy
66
module Client
77
describe Features do
88
it 'tracks and removes a feature' do
9-
Features.track('A') { expect(Features.tracked).to eq(%w[A].to_set) }
9+
Features.track('A') { expect(Features.tracked).to eq(%w[A]) }
1010
expect(Features.tracked).to be_empty
1111
end
1212

1313
it 'tracks and removes multiple features' do
14-
features = %w[A B C].to_set
14+
features = %w[A B C]
1515
Features.track(*features) { expect(Features.tracked).to eq(features) }
1616
expect(Features.tracked).to be_empty
1717
end
1818

1919
it 'tracks and removes features in stack order' do
2020
Features.track('A') do
21-
expect(Features.tracked).to eq(%w[A].to_set)
21+
expect(Features.tracked).to eq(%w[A])
2222
Features.track('B') do
23-
expect(Features.tracked).to eq(%w[A B].to_set)
23+
expect(Features.tracked).to eq(%w[A B])
2424
Features.track('C') do
25-
expect(Features.tracked).to eq(%w[A B C].to_set)
25+
expect(Features.tracked).to eq(%w[A B C])
2626
end
27-
expect(Features.tracked).to eq(%w[A B].to_set)
27+
expect(Features.tracked).to eq(%w[A B])
2828
end
29-
expect(Features.tracked).to eq(%w[A].to_set)
29+
expect(Features.tracked).to eq(%w[A])
3030
end
3131
expect(Features.tracked).to be_empty
3232
end
3333

3434
it 'ensures that features are removed' do
3535
begin
3636
Features.track('A') do
37-
expect(Features.tracked).to eq(%w[A].to_set)
37+
expect(Features.tracked).to eq(%w[A])
3838
raise StandardError
3939
end
4040
rescue StandardError
@@ -45,30 +45,30 @@ module Client
4545

4646
it 'tracks features in multiple threads' do
4747
Features.track('A') do
48-
expect(Features.tracked).to eq(%w[A].to_set)
48+
expect(Features.tracked).to eq(%w[A])
4949
Thread.new do
5050
expect(Features.tracked).to be_empty
5151
Features.track('B') do
52-
expect(Features.tracked).to eq(%w[B].to_set)
52+
expect(Features.tracked).to eq(%w[B])
5353
end
5454
expect(Features.tracked).to be_empty
5555
end.join
56-
expect(Features.tracked).to eq(%w[A].to_set)
56+
expect(Features.tracked).to eq(%w[A])
5757
end
5858
expect(Features.tracked).to be_empty
5959
end
6060

6161
it 'does not track duplicate features' do
6262
Features.track('A') do
63-
expect(Features.tracked).to eq(%w[A].to_set)
63+
expect(Features.tracked).to eq(%w[A])
6464
Features.track('B') do
65-
expect(Features.tracked).to eq(%w[A B].to_set)
65+
expect(Features.tracked).to eq(%w[A B])
6666
Features.track('A') do
67-
expect(Features.tracked).to eq(%w[A B].to_set)
67+
expect(Features.tracked).to eq(%w[A B])
6868
end
69-
expect(Features.tracked).to eq(%w[A B].to_set)
69+
expect(Features.tracked).to eq(%w[A B])
7070
end
71-
expect(Features.tracked).to eq(%w[A].to_set)
71+
expect(Features.tracked).to eq(%w[A])
7272
end
7373
expect(Features.tracked).to be_empty
7474
end

0 commit comments

Comments
 (0)