Skip to content

Commit 329cccb

Browse files
authored
Migrate from to_hash to to_h (#2351)
* Migrate from to_hash to to_h As @solnic pointed out in #2350 (comment) `to_hash` has special meaning in Ruby and could be called implicitly in contexts like double splatting argument. So we should switch to `to_h` to avoid potential issues.
1 parent 7db04c9 commit 329cccb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+185
-184
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
### Breaking Changes
44

55
- Remove `config.async` [#1894](https://github.com/getsentry/sentry-ruby/pull/1894)
6+
- Migrate from to_hash to to_h ([#2351](https://github.com/getsentry/sentry-ruby/pull/2351))
67

78
## Unreleased
89

sentry-delayed_job/spec/sentry/delayed_job_spec.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def do_nothing_with_args(a)
4444
enqueued_job.invoke_job
4545

4646
expect(transport.events.count).to eq(1)
47-
event = transport.events.last.to_hash
47+
event = transport.events.last.to_h
4848
expect(event[:message]).to eq("report")
4949
expect(event[:contexts][:"Delayed-Job"][:id]).to eq(enqueued_job.id.to_s)
5050
expect(event[:tags]).to eq({ "delayed_job.id" => enqueued_job.id.to_s, "delayed_job.queue" => nil })
@@ -66,7 +66,7 @@ def do_nothing_with_args(a)
6666
enqueued_job.invoke_job
6767

6868
expect(transport.events.count).to eq(1)
69-
event = transport.events.last.to_hash
69+
event = transport.events.last.to_h
7070
expect(event[:message]).to eq("tagged report")
7171
expect(event[:tags]).to eq({ "delayed_job.id" => enqueued_job.id.to_s, "delayed_job.queue" => nil, number: 1 })
7272

@@ -75,7 +75,7 @@ def do_nothing_with_args(a)
7575
enqueued_job.invoke_job
7676

7777
expect(transport.events.count).to eq(2)
78-
event = transport.events.last.to_hash
78+
event = transport.events.last.to_h
7979
expect(event[:tags]).to eq({ "delayed_job.id" => enqueued_job.id.to_s, "delayed_job.queue" => nil })
8080
end
8181

@@ -91,7 +91,7 @@ def do_nothing_with_args(a)
9191
end.to raise_error(ZeroDivisionError)
9292

9393
expect(transport.events.count).to eq(1)
94-
event = transport.events.last.to_hash
94+
event = transport.events.last.to_h
9595

9696
expect(event[:sdk]).to eq({ name: "sentry.ruby.delayed_job", version: described_class::VERSION })
9797
expect(event.dig(:exception, :values, 0, :type)).to eq("ZeroDivisionError")
@@ -107,7 +107,7 @@ def do_nothing_with_args(a)
107107
end.to raise_error(RuntimeError)
108108

109109
expect(transport.events.count).to eq(1)
110-
event = transport.events.last.to_hash
110+
event = transport.events.last.to_h
111111

112112
expect(event[:tags]).to eq({ "delayed_job.id" => enqueued_job.id.to_s, "delayed_job.queue" => nil, number: 1 })
113113
expect(Sentry.get_current_scope.extra).to eq({})
@@ -121,7 +121,7 @@ def do_nothing_with_args(a)
121121
end.to raise_error(ZeroDivisionError)
122122

123123
expect(transport.events.count).to eq(2)
124-
event = transport.events.last.to_hash
124+
event = transport.events.last.to_h
125125
expect(event[:tags]).to eq({ "delayed_job.id" => enqueued_job.id.to_s, "delayed_job.queue" => nil })
126126
expect(Sentry.get_current_scope.extra).to eq({})
127127
expect(Sentry.get_current_scope.tags).to eq({})
@@ -226,7 +226,7 @@ def perform
226226
it "injects ActiveJob information to the event" do
227227
expect(transport.events.count).to eq(1)
228228

229-
event = transport.events.last.to_hash
229+
event = transport.events.last.to_h
230230
expect(event[:message]).to eq("report from ActiveJob")
231231
expect(event[:tags]).to match({ "delayed_job.id" => anything, "delayed_job.queue" => "default", number: 1 })
232232
expect(event[:contexts][:"Active-Job"][:job_class]).to eq("ReportingJob")
@@ -253,7 +253,7 @@ def perform
253253
it "injects ActiveJob information to the event" do
254254
expect(transport.events.count).to eq(1)
255255

256-
event = transport.events.last.to_hash
256+
event = transport.events.last.to_h
257257
expect(event.dig(:exception, :values, 0, :type)).to eq("ZeroDivisionError")
258258
expect(event[:tags]).to match({ "delayed_job.id" => anything, "delayed_job.queue" => "default", number: 2 })
259259
expect(event[:contexts][:"Active-Job"][:job_class]).to eq("FailedJob")

sentry-rails/spec/sentry/rails/activejob_spec.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ def perform
252252
expect(transport.events.size).to eq(1)
253253

254254
event = transport.events.first
255-
exceptions_data = event.exception.to_hash[:values]
255+
exceptions_data = event.exception.to_h[:values]
256256

257257
expect(exceptions_data.count).to eq(2)
258258
expect(exceptions_data[0][:type]).to eq("FailedJob::TestError")
@@ -295,7 +295,7 @@ def perform
295295
first = transport.events[0]
296296
check_in_id = first.check_in_id
297297
expect(first).to be_a(Sentry::CheckInEvent)
298-
expect(first.to_hash).to include(
298+
expect(first.to_h).to include(
299299
type: 'check_in',
300300
check_in_id: check_in_id,
301301
monitor_slug: "normaljobwithcron",
@@ -304,7 +304,7 @@ def perform
304304

305305
second = transport.events[1]
306306
expect(second).to be_a(Sentry::CheckInEvent)
307-
expect(second.to_hash).to include(
307+
expect(second.to_h).to include(
308308
:duration,
309309
type: 'check_in',
310310
check_in_id: check_in_id,
@@ -323,7 +323,7 @@ def perform
323323
first = transport.events[0]
324324
check_in_id = first.check_in_id
325325
expect(first).to be_a(Sentry::CheckInEvent)
326-
expect(first.to_hash).to include(
326+
expect(first.to_h).to include(
327327
type: 'check_in',
328328
check_in_id: check_in_id,
329329
monitor_slug: "failed_job",
@@ -333,7 +333,7 @@ def perform
333333

334334
second = transport.events[1]
335335
expect(second).to be_a(Sentry::CheckInEvent)
336-
expect(second.to_hash).to include(
336+
expect(second.to_h).to include(
337337
:duration,
338338
type: 'check_in',
339339
check_in_id: check_in_id,

sentry-rails/spec/sentry/rails/breadcrumbs/active_support_logger_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@
128128

129129
expect(transport.events.count).to eq(1)
130130

131-
transaction = transport.events.last.to_hash
131+
transaction = transport.events.last.to_h
132132
breadcrumbs = transaction[:breadcrumbs][:values]
133133
process_action_crumb = breadcrumbs.last
134134
expect(process_action_crumb[:category]).to eq("process_action.action_controller")

sentry-rails/spec/sentry/rails/breadcrumbs/monotonic_active_support_logger_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@
132132

133133
expect(transport.events.count).to eq(1)
134134

135-
transaction = transport.events.last.to_hash
135+
transaction = transport.events.last.to_h
136136
breadcrumbs = transaction[:breadcrumbs][:values]
137137
process_action_crumb = breadcrumbs.last
138138
expect(process_action_crumb[:category]).to eq("process_action.action_controller")

sentry-rails/spec/sentry/rails/controller_methods_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def request
3535
event = transport.events.last
3636
expect(event.message).to eq("foo")
3737
expect(event.tags).to eq({ new_tag: true })
38-
expect(event.to_hash.dig(:request, :url)).to eq("http://example.org/test")
38+
expect(event.to_h.dig(:request, :url)).to eq("http://example.org/test")
3939
end
4040
end
4141

@@ -47,8 +47,8 @@ def request
4747

4848
event = transport.events.last
4949
expect(event.tags).to eq({ new_tag: true })
50-
expect(event.to_hash.dig(:exception, :values, 0, :type)).to eq("ZeroDivisionError")
51-
expect(event.to_hash.dig(:request, :url)).to eq("http://example.org/test")
50+
expect(event.to_h.dig(:exception, :values, 0, :type)).to eq("ZeroDivisionError")
51+
expect(event.to_h.dig(:request, :url)).to eq("http://example.org/test")
5252
end
5353
end
5454
end

sentry-rails/spec/sentry/rails/event_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
end
77

88
it "sets right SDK information" do
9-
event_hash = Sentry::Rails.capture_message("foo").to_hash
9+
event_hash = Sentry::Rails.capture_message("foo").to_h
1010

1111
expect(event_hash[:sdk]).to eq(name: "sentry.ruby.rails", version: Sentry::Rails::VERSION)
1212
end
@@ -25,7 +25,7 @@
2525
e
2626
end
2727

28-
let(:hash) { Sentry::Rails.capture_exception(exception).to_hash }
28+
let(:hash) { Sentry::Rails.capture_exception(exception).to_h }
2929

3030
it 'marks in_app correctly' do
3131
frames = hash[:exception][:values][0][:stacktrace][:frames]

sentry-rails/spec/sentry/rails/tracing/action_controller_subscriber_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
expect(transport.events.count).to eq(1)
3232

33-
transaction = transport.events.first.to_hash
33+
transaction = transport.events.first.to_h
3434
expect(transaction[:type]).to eq("transaction")
3535
expect(transaction[:spans].count).to eq(2)
3636

sentry-rails/spec/sentry/rails/tracing/action_view_subscriber_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
expect(transport.events.count).to eq(1)
2020

21-
transaction = transport.events.first.to_hash
21+
transaction = transport.events.first.to_h
2222
expect(transaction[:type]).to eq("transaction")
2323
expect(transaction[:spans].count).to eq(2)
2424

sentry-rails/spec/sentry/rails/tracing/active_record_subscriber_spec.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
expect(transport.events.count).to eq(1)
3030

31-
transaction = transport.events.first.to_hash
31+
transaction = transport.events.first.to_h
3232
expect(transaction[:type]).to eq("transaction")
3333
expect(transaction[:spans].count).to eq(1)
3434

@@ -65,7 +65,7 @@ def foo
6565
it "doesn't record query's source location" do
6666
expect(transport.events.count).to eq(1)
6767

68-
transaction = transport.events.first.to_hash
68+
transaction = transport.events.first.to_h
6969
expect(transaction[:type]).to eq("transaction")
7070
expect(transaction[:spans].count).to eq(1)
7171

@@ -84,7 +84,7 @@ def foo
8484
it "records query's source location" do
8585
expect(transport.events.count).to eq(1)
8686

87-
transaction = transport.events.first.to_hash
87+
transaction = transport.events.first.to_h
8888
expect(transaction[:type]).to eq("transaction")
8989
expect(transaction[:spans].count).to eq(1)
9090

@@ -102,7 +102,7 @@ def foo
102102
it "doesn't record query's source location" do
103103
expect(transport.events.count).to eq(1)
104104

105-
transaction = transport.events.first.to_hash
105+
transaction = transport.events.first.to_h
106106
expect(transaction[:type]).to eq("transaction")
107107
expect(transaction[:spans].count).to eq(1)
108108

@@ -129,7 +129,7 @@ def foo
129129

130130
expect(transport.events.count).to eq(1)
131131

132-
transaction = transport.events.first.to_hash
132+
transaction = transport.events.first.to_h
133133
expect(transaction[:type]).to eq("transaction")
134134
expect(transaction[:spans].count).to eq(2)
135135

0 commit comments

Comments
 (0)