From edc0b2945b554f8798004111b795fdac38ebe0f3 Mon Sep 17 00:00:00 2001 From: Runar Ingebrigtsen Date: Tue, 23 Jun 2026 14:52:51 +0200 Subject: [PATCH] tolerate empty string result from Fiken API --- lib/fiken/object.rb | 3 ++- spec/fiken/object_spec.rb | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/fiken/object.rb b/lib/fiken/object.rb index 84950a9..028e0e6 100644 --- a/lib/fiken/object.rb +++ b/lib/fiken/object.rb @@ -12,7 +12,8 @@ module Fiken class Object def initialize(attributes = {}) @attributes = {} - (attributes || {}).each { |key, value| @attributes[key.to_sym] = wrap(value) } + attributes = {} unless attributes.is_a?(Hash) + attributes.each { |key, value| @attributes[key.to_sym] = wrap(value) } end def [](key) diff --git a/spec/fiken/object_spec.rb b/spec/fiken/object_spec.rb index d817000..44f394a 100644 --- a/spec/fiken/object_spec.rb +++ b/spec/fiken/object_spec.rb @@ -46,4 +46,8 @@ RSpec.describe Fiken::Object do expect(object.key?(:invoiceNumber)).to be(true) expect(object.key?(:missing)).to be(false) end + + it "treats a non-Hash body (e.g. empty string from a 204 response) as empty" do + expect(described_class.new("").keys).to eq([]) + end end