From 7df09871af7cae9511d7fb4e01279cae812af5d9 Mon Sep 17 00:00:00 2001 From: Brian Cody Date: Sat, 19 Nov 2016 23:29:43 -0600 Subject: [PATCH 1/4] WIP: Add `all` method for Engagements --- lib/hubspot/engagement.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/hubspot/engagement.rb b/lib/hubspot/engagement.rb index 99ccf9c7..42716b5b 100644 --- a/lib/hubspot/engagement.rb +++ b/lib/hubspot/engagement.rb @@ -9,6 +9,7 @@ module Hubspot class Engagement CREATE_ENGAGMEMENT_PATH = '/engagements/v1/engagements' ENGAGEMENT_PATH = '/engagements/v1/engagements/:engagement_id' + ENGAGEMENTS_PATH = '/engagements/v1/engagements/paged' GET_ASSOCIATED_ENGAGEMENTS = '/engagements/v1/engagements/associated/:objectType/:objectId/paged' attr_reader :id @@ -30,6 +31,14 @@ def create!(params={}) new(HashWithIndifferentAccess.new(response)) end + # {http://developers.hubspot.com/docs/methods/engagements/get-all-engagements} + def all(opts={}) + path, opts = [ENGAGEMENTS_PATH, opts] + + response = Hubspot::Connection.get_json(path, opts) + response['engagements'].map { |e| new(e) } + end + def find(engagement_id) begin response = Hubspot::Connection.get_json(ENGAGEMENT_PATH, { engagement_id: engagement_id }) From 243e3a73a470311545024124feaa8e16476b4154 Mon Sep 17 00:00:00 2001 From: Brian Cody Date: Sat, 19 Nov 2016 23:35:16 -0600 Subject: [PATCH 2/4] Re-write egnagements method --- lib/hubspot/engagement.rb | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/hubspot/engagement.rb b/lib/hubspot/engagement.rb index 42716b5b..c4cbb054 100644 --- a/lib/hubspot/engagement.rb +++ b/lib/hubspot/engagement.rb @@ -32,11 +32,16 @@ def create!(params={}) end # {http://developers.hubspot.com/docs/methods/engagements/get-all-engagements} - def all(opts={}) - path, opts = [ENGAGEMENTS_PATH, opts] - - response = Hubspot::Connection.get_json(path, opts) - response['engagements'].map { |e| new(e) } + def all + path = ENGAGEMENTS_PATH + engagements = [] + begin + response = Hubspot::Connection.get_json(path) + engagements = response["results"].try(:map) { |engagement| new(engagement) } + rescue => e + raise e unless e.message =~ /not found/ + end + engagements end def find(engagement_id) From 3260e09fc2c6091cf6da0399f601138f2fb1d776 Mon Sep 17 00:00:00 2001 From: Brian Cody Date: Sat, 19 Nov 2016 23:38:30 -0600 Subject: [PATCH 3/4] Try different syntax --- lib/hubspot/engagement.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/hubspot/engagement.rb b/lib/hubspot/engagement.rb index c4cbb054..1e8791ca 100644 --- a/lib/hubspot/engagement.rb +++ b/lib/hubspot/engagement.rb @@ -32,8 +32,8 @@ def create!(params={}) end # {http://developers.hubspot.com/docs/methods/engagements/get-all-engagements} - def all - path = ENGAGEMENTS_PATH + def all(opts={}) + path = [ENGAGEMENTS_PATH, opts] engagements = [] begin response = Hubspot::Connection.get_json(path) From ad4f3b5e5d3c409133de7e746ece690adfc66a1d Mon Sep 17 00:00:00 2001 From: Brian Cody Date: Sat, 19 Nov 2016 23:41:33 -0600 Subject: [PATCH 4/4] Fix 2nd argument --- lib/hubspot/engagement.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/hubspot/engagement.rb b/lib/hubspot/engagement.rb index 1e8791ca..010cb0a1 100644 --- a/lib/hubspot/engagement.rb +++ b/lib/hubspot/engagement.rb @@ -33,10 +33,10 @@ def create!(params={}) # {http://developers.hubspot.com/docs/methods/engagements/get-all-engagements} def all(opts={}) - path = [ENGAGEMENTS_PATH, opts] + path = ENGAGEMENTS_PATH engagements = [] begin - response = Hubspot::Connection.get_json(path) + response = Hubspot::Connection.get_json(path, opts) engagements = response["results"].try(:map) { |engagement| new(engagement) } rescue => e raise e unless e.message =~ /not found/