From a71fd33cb773166e675279b8b2e27b33cef5fb3a Mon Sep 17 00:00:00 2001 From: Erin Paget Date: Fri, 8 Aug 2025 18:05:59 -0400 Subject: [PATCH] Avoid HTTParty deprecation warnings on #nil? --- lib/never_bounce/api/feature/require_attr.rb | 4 ++-- .../never_bounce/api/feature/require_attr_spec.rb | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/never_bounce/api/feature/require_attr.rb b/lib/never_bounce/api/feature/require_attr.rb index 0dd10d1..849608f 100644 --- a/lib/never_bounce/api/feature/require_attr.rb +++ b/lib/never_bounce/api/feature/require_attr.rb @@ -18,8 +18,8 @@ module InstanceMethods # Require attribute to be set. Return attribute value. # @return [mixed] def require_attr(name) - send(name).tap do |_| - raise AttributeError, "Attribute must be set: #{name}" if _.nil? + send(name).tap do |value| + raise AttributeError, "Attribute must be set: #{name}" if value == nil end end end diff --git a/spec/lib/never_bounce/api/feature/require_attr_spec.rb b/spec/lib/never_bounce/api/feature/require_attr_spec.rb index 58155a0..c661edc 100644 --- a/spec/lib/never_bounce/api/feature/require_attr_spec.rb +++ b/spec/lib/never_bounce/api/feature/require_attr_spec.rb @@ -21,5 +21,18 @@ def b r.a = "a" expect(r.b).to eq ["a", "b"] end + + it "doesn't trip HTTParty's deprecation warning on #nil?" do + request = instance_double(HTTParty::Request, options: {}) + response = instance_double(Net::HTTPResponse, body: nil, to_hash: {}) + parsed_block = lambda { nil } + + server_obj = HTTParty::Response.new(request, response, parsed_block) + + r = klass.new + r.a = server_obj + + expect { r.b }.not_to output(/DEPRECATION/).to_stderr + end end end; end; end