From 546d4ca55b4a8d633957c37c5c4846b17505298e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vesa=20V=C3=A4nsk=C3=A4?= Date: Tue, 2 Aug 2016 22:57:06 +0300 Subject: [PATCH] Coerce BookmarkList bookmarks to correct format Previously fetching all bookmarks caused the `instapaper_hash` not being set. --- lib/instapaper/http/utils.rb | 5 +++++ spec/instapaper/api/bookmarks_spec.rb | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/lib/instapaper/http/utils.rb b/lib/instapaper/http/utils.rb index f25dec0..0c24905 100644 --- a/lib/instapaper/http/utils.rb +++ b/lib/instapaper/http/utils.rb @@ -60,6 +60,11 @@ module Instapaper if response.key?('hash') response['instapaper_hash'] = response.delete('hash') end + if response.key?('bookmarks') + response['bookmarks'] = response['bookmarks'].collect {|bookmark| + coerce_hash(bookmark) + } + end response end end diff --git a/spec/instapaper/api/bookmarks_spec.rb b/spec/instapaper/api/bookmarks_spec.rb index 362d128..29db509 100644 --- a/spec/instapaper/api/bookmarks_spec.rb +++ b/spec/instapaper/api/bookmarks_spec.rb @@ -27,6 +27,11 @@ describe Instapaper::Client::Bookmarks do expect(bookmark).to be_an Instapaper::Bookmark end end + + it 'coerces bookmarks correctly' do + list = client.bookmarks + expect(list.bookmarks.first.instapaper_hash).to_not be_nil + end end describe '#update_read_progress' do