intercom 3.5.9 → 3.5.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d07ca20fc9a3f8b9d12df73d9b76b9e23daa41a8
4
- data.tar.gz: 3fef787910743a32b6beb66038b3c6811196f352
3
+ metadata.gz: 0f98bf7f9725ad035949ca88859ba807a6323a83
4
+ data.tar.gz: 97e46a4507500d311495e11114fb80d0715cb0a0
5
5
  SHA512:
6
- metadata.gz: 376bd8560327390061df14dd86b19dd4896edf07327a86d8f265e5af64ee44f7701778ca001333d4eac53a1c2447d9dc43fb762811e70987f0e0588d9a8741e7
7
- data.tar.gz: 5894bc20064d92e0295afe2bf5bca9badaa13eb9fb2b4bb8719706bf198d88c383f1b5da3f273ca5fd98c82e53751610b1b39cbab1dd4194b247e55155c4b917
6
+ metadata.gz: 8c83c5d9c5ad9d4844b5b8f7c3602e6bf76cbbb9e9836b264acbdcfdb5e3567310c1441e23c7cd0b2dac30f0200bbea46175fe9eea5c130aa49d16e9ca5cd2d4
7
+ data.tar.gz: b480c171fd98135e719c37be86b0d13f7288f65130583d863afad3dd32acdc42de3e66be8941620047ba57db9fc54548b10307cbed55bd5278563825e6728de0
@@ -3,3 +3,4 @@ sudo: false
3
3
  rvm:
4
4
  - 2.1.0
5
5
  - 2.2.0
6
+ - 2.3.3
data/README.md CHANGED
@@ -6,7 +6,7 @@ Ruby bindings for the Intercom API (https://developers.intercom.io/reference).
6
6
 
7
7
  [Gem Documentation](http://rubydoc.info/github/intercom/intercom-ruby/master/frames)
8
8
 
9
- For generating Intercom javascript script tags for Rails, please see https://github.com/intercom/intercom-rails
9
+ For generating Intercom javascript script tags for Rails, please see https://github.com/intercom/intercom-rails.
10
10
 
11
11
  ## Upgrading information
12
12
 
@@ -22,18 +22,13 @@ This version of the gem is compatible with `Ruby 2.1` and above.
22
22
 
23
23
  Using bundler:
24
24
 
25
- gem 'intercom', "~> 3.5.9"
25
+ gem 'intercom', '~> 3.5.9'
26
26
 
27
27
  ## Basic Usage
28
28
 
29
29
  ### Configure your client
30
30
 
31
- ```ruby
32
- intercom = Intercom::Client.new(app_id: 'my_app_id', api_key: 'my_api_key')
33
- ```
34
- > Warning: API Keys are being deprecated - you should use a [personal access token](https://app.intercom.io/a/apps/_/settings/personal-access-token) instead. [Learn more](https://developers.intercom.io/docs/personal-access-tokens) about API Keys deprecation
35
-
36
- You can get your `app_id` from the URL when you're logged into Intercom (it's the alphanumeric just after `/apps/`) and your API key from the API keys integration settings page (under your app settings - integrations in Intercom).
31
+ > If you already have a personal access token you can find it [here](https://app.intercom.io/a/apps/_/settings/personal-access-token). If you want to create or learn more about personal access tokens then you can find more info [here](https://developers.intercom.io/docs/personal-access-tokens).
37
32
 
38
33
  ```ruby
39
34
  # With an OAuth or Personal Access token:
@@ -67,15 +62,15 @@ Resources this API supports:
67
62
 
68
63
  ```ruby
69
64
  # Find user by email
70
- user = intercom.users.find(:email => "bob@example.com")
65
+ user = intercom.users.find(email: "bob@example.com")
71
66
  # Find user by user_id
72
- user = intercom.users.find(:user_id => "1")
67
+ user = intercom.users.find(user_id: "1")
73
68
  # Find user by id
74
- user = intercom.users.find(:id => "1")
69
+ user = intercom.users.find(id: "1")
75
70
  # Create a user
76
- user = intercom.users.create(:email => "bob@example.com", :name => "Bob Smith", :signed_up_at => Time.now.to_i)
71
+ user = intercom.users.create(email: "bob@example.com", name: "Bob Smith", signed_up_at: Time.now.to_i)
77
72
  # Delete a user
78
- user = intercom.users.find(:id => "1")
73
+ user = intercom.users.find(id: "1")
79
74
  deleted_user = intercom.users.delete(user)
80
75
  # Update custom_attributes for a user
81
76
  user.custom_attributes["average_monthly_spend"] = 1234.56
@@ -104,17 +99,17 @@ result = intercom.users.scroll.next
104
99
  # make a new request
105
100
  result.scroll_param
106
101
  => "0730e341-63ef-44da-ab9c-9113f886326d"
107
- result = = intercom.users.scroll.next("0730e341-63ef-44da-ab9c-9113f886326d");
102
+ result = intercom.users.scroll.next("0730e341-63ef-44da-ab9c-9113f886326d");
108
103
 
109
104
  #Bulk operations.
110
105
  # Submit bulk job to create users. If any of the items in create_items match an existing user that user will be updated
111
- intercom.users.submit_bulk_job(create_items: [{user_id: 25, email: "alice@example.com"}, {user_id: 25, email: "bob@example.com"}])
106
+ intercom.users.submit_bulk_job(create_items: [{user_id: "25", email: "alice@example.com"}, {user_id: "25", email: "bob@example.com"}])
112
107
  # Submit bulk job to create users with companies. Companies must be sent as an array of objects nested within each applicable user object
113
- intercom.users.submit_bulk_job(create_items: [{user_id: 25, email: "alice@example.com", companies: [{:company_id => 9, :name => "Test Company"}]}])
108
+ intercom.users.submit_bulk_job(create_items: [{user_id: "25", email: "alice@example.com", companies: [{company_id: 9, name: "Test Company"}]}])
114
109
  # Submit bulk job, to delete users
115
- intercom.users.submit_bulk_job(delete_items: [{user_id: 25, email: "alice@example.com"}, {user_id: 25, email: "bob@example.com"}])
110
+ intercom.users.submit_bulk_job(delete_items: [{user_id: "25", email: "alice@example.com"}, {user_id: "25", email: "bob@example.com"}])
116
111
  # Submit bulk job, to add items to existing job
117
- intercom.users.submit_bulk_job(create_items: [{user_id: 25, email: "alice@example.com"}], delete_items: [{user_id: 25, email: "bob@example.com"}], job_id:'job_abcd1234')
112
+ intercom.users.submit_bulk_job(create_items: [{user_id: "25", email: "alice@example.com"}], delete_items: [{user_id: "25", email: "bob@example.com"}], job_id:'job_abcd1234')
118
113
  ```
119
114
 
120
115
  #### Admins
@@ -122,7 +117,7 @@ intercom.users.submit_bulk_job(create_items: [{user_id: 25, email: "alice@exampl
122
117
  # Find access token owner (only with Personal Access Token and OAuth)
123
118
  intercom.admins.me
124
119
  # Find an admin by id
125
- intercom.admins.find(:id => admin_id)
120
+ intercom.admins.find(id: admin_id)
126
121
  # Iterate over all admins
127
122
  intercom.admins.all.each {|admin| puts admin.email }
128
123
  ```
@@ -130,18 +125,18 @@ intercom.admins.all.each {|admin| puts admin.email }
130
125
  #### Companies
131
126
  ```ruby
132
127
  # Add a user to one or more companies
133
- user = intercom.users.find(:email => "bob@example.com")
134
- user.companies = [{:company_id => 6, :name => "Intercom"}, {:company_id => 9, :name => "Test Company"}]
128
+ user = intercom.users.find(email: "bob@example.com")
129
+ user.companies = [{company_id: 6, name: "Intercom"}, {company_id: 9, name: "Test Company"}]
135
130
  intercom.users.save(user)
136
131
  # You can also pass custom attributes within a company as you do this
137
- user.companies = [{:id => 6, :name => "Intercom", :custom_attributes => {:referral_source => "Google"} } ]
132
+ user.companies = [{id: 6, name: "Intercom", custom_attributes: {referral_source: "Google"} } ]
138
133
  intercom.users.save(user)
139
134
  # Find a company by company_id
140
- company = intercom.companies.find(:company_id => "44")
135
+ company = intercom.companies.find(company_id: "44")
141
136
  # Find a company by name
142
- company = intercom.companies.find(:name => "Some company")
137
+ company = intercom.companies.find(name: "Some company")
143
138
  # Find a company by id
144
- company = intercom.companies.find(:id => "41e66f0313708347cb0000d0")
139
+ company = intercom.companies.find(id: "41e66f0313708347cb0000d0")
145
140
  # Update a company
146
141
  company.name = 'Updated company name'
147
142
  intercom.companies.save(company)
@@ -168,7 +163,7 @@ tag = intercom.tags.tag(name: 'blue', companies: [{id: "42ea2f1b93891f6a99000427
168
163
  #### Segments
169
164
  ```ruby
170
165
  # Find a segment
171
- segment = intercom.segments.find(:id => segment_id)
166
+ segment = intercom.segments.find(id: segment_id)
172
167
  # Iterate over all segments
173
168
  intercom.segments.all.each {|segment| puts "id: #{segment.id} name: #{segment.name}"}
174
169
  ```
@@ -176,37 +171,37 @@ intercom.segments.all.each {|segment| puts "id: #{segment.id} name: #{segment.na
176
171
  #### Notes
177
172
  ```ruby
178
173
  # Find a note by id
179
- note = intercom.notes.find(:id => note)
174
+ note = intercom.notes.find(id: note)
180
175
  # Create a note for a user
181
- note = intercom.notes.create(:body => "<p>Text for the note</p>", :email => 'joe@example.com')
176
+ note = intercom.notes.create(body: "<p>Text for the note</p>", email: 'joe@example.com')
182
177
  # Iterate over all notes for a user via their email address
183
- intercom.notes.find_all(:email => 'joe@example.com').each {|note| puts note.body}
178
+ intercom.notes.find_all(email: 'joe@example.com').each {|note| puts note.body}
184
179
  # Iterate over all notes for a user via their user_id
185
- intercom.notes.find_all(:user_id => '123').each {|note| puts note.body}
180
+ intercom.notes.find_all(user_id: '123').each {|note| puts note.body}
186
181
  ```
187
182
 
188
183
  #### Conversations
189
184
  ```ruby
190
185
  # FINDING CONVERSATIONS FOR AN ADMIN
191
186
  # Iterate over all conversations (open and closed) assigned to an admin
192
- intercom.conversations.find_all(:type => 'admin', :id => '7').each {|convo| ... }
187
+ intercom.conversations.find_all(type: 'admin', id: '7').each {|convo| ... }
193
188
  # Iterate over all open conversations assigned to an admin
194
- intercom.conversations.find_all(:type => 'admin', :id => 7, :open => true).each {|convo| ... }
189
+ intercom.conversations.find_all(type: 'admin', id: 7, open: true).each {|convo| ... }
195
190
  # Iterate over closed conversations assigned to an admin
196
- intercom.conversations.find_all(:type => 'admin', :id => 7, :open => false).each {|convo| ... }
191
+ intercom.conversations.find_all(type: 'admin', id: 7, open: false).each {|convo| ... }
197
192
  # Iterate over closed conversations for assigned an admin, before a certain moment in time
198
- intercom.conversations.find_all(:type => 'admin', :id => 7, :open => false, :before => 1374844930).each {|convo| ... }
193
+ intercom.conversations.find_all(type: 'admin', id: 7, open: false, before: 1374844930).each {|convo| ... }
199
194
 
200
195
  # FINDING CONVERSATIONS FOR A USER
201
196
  # Iterate over all conversations (read + unread, correct) with a user based on the users email
202
- intercom.conversations.find_all(:email => 'joe@example.com', :type => 'user').each {|convo| ... }
197
+ intercom.conversations.find_all(email: 'joe@example.com', type: 'user').each {|convo| ... }
203
198
  # Iterate over through all conversations (read + unread) with a user based on the users email
204
- intercom.conversations.find_all(:email => 'joe@example.com', :type => 'user', :unread => false).each {|convo| ... }
199
+ intercom.conversations.find_all(email: 'joe@example.com', type: 'user', unread: false).each {|convo| ... }
205
200
  # Iterate over all unread conversations with a user based on the users email
206
- intercom.conversations.find_all(:email => 'joe@example.com', :type => 'user', :unread => true).each {|convo| ... }
201
+ intercom.conversations.find_all(email: 'joe@example.com', type: 'user', unread: true).each {|convo| ... }
207
202
 
208
203
  # FINDING A SINGLE CONVERSATION
209
- conversation = intercom.conversations.find(:id => '1')
204
+ conversation = intercom.conversations.find(id: '1')
210
205
 
211
206
  # INTERACTING WITH THE PARTS OF A CONVERSATION
212
207
  # Getting the subject of a part (only applies to email-based conversations)
@@ -218,11 +213,11 @@ conversation.conversation_parts[1].body
218
213
 
219
214
  # REPLYING TO CONVERSATIONS
220
215
  # User (identified by email) replies with a comment
221
- intercom.conversations.reply(:id => conversation.id, :type => 'user', :email => 'joe@example.com', :message_type => 'comment', :body => 'foo')
216
+ intercom.conversations.reply(id: conversation.id, type: 'user', email: 'joe@example.com', message_type: 'comment', body: 'foo')
222
217
  # Admin (identified by id) replies with a comment
223
- intercom.conversations.reply(:id => conversation.id, :type => 'admin', :admin_id => '123', :message_type => 'comment', :body => 'bar')
218
+ intercom.conversations.reply(id: conversation.id, type: 'admin', admin_id: '123', message_type: 'comment', body: 'bar')
224
219
  # User (identified by email) replies with a comment and attachment
225
- intercom.conversations.reply(:id => conversation.id, :type => 'user', :email => 'joe@example.com', :message_type => 'comment', :body => 'foo', :attachment_urls => ['http://www.example.com/attachment.jpg'])
220
+ intercom.conversations.reply(id: conversation.id, type: 'user', email: 'joe@example.com', message_type: 'comment', body: 'foo', attachment_urls: ['http://www.example.com/attachment.jpg'])
226
221
 
227
222
  # Open
228
223
  intercom.conversations.open(id: conversation.id, admin_id: '123')
@@ -234,13 +229,13 @@ intercom.conversations.close(id: conversation.id, admin_id: '123')
234
229
  intercom.conversations.assign(id: conversation.id, admin_id: '123', assignee_id: '124')
235
230
 
236
231
  # Reply and Open
237
- intercom.conversations.reply(:id => conversation.id, :type => 'admin', :admin_id => '123', :message_type => 'open', :body => 'bar')
232
+ intercom.conversations.reply(id: conversation.id, type: 'admin', admin_id: '123', message_type: 'open', body: 'bar')
238
233
 
239
234
  # Reply and Close
240
- intercom.conversations.reply(:id => conversation.id, :type => 'admin', :admin_id => '123', :message_type => 'close', :body => 'bar')
235
+ intercom.conversations.reply(id: conversation.id, type: 'admin', admin_id: '123', message_type: 'close', body: 'bar')
241
236
 
242
237
  # ASSIGNING CONVERSATIONS TO ADMINS
243
- intercom.conversations.reply(:id => conversation.id, :type => 'admin', :assignee_id => assignee_admin.id, :admin_id => admin.id, :message_type => 'assignment')
238
+ intercom.conversations.reply(id: conversation.id, type: 'admin', assignee_id: assignee_admin.id, admin_id: admin.id, message_type: 'assignment')
244
239
 
245
240
  # MARKING A CONVERSATION AS READ
246
241
  intercom.conversations.mark_read(conversation.id)
@@ -258,75 +253,76 @@ intercom.users.load(conversation.user)
258
253
 
259
254
  # InApp message from admin to user
260
255
  intercom.messages.create({
261
- :message_type => 'inapp',
262
- :body => "What's up :)",
263
- :from => {
264
- :type => 'admin',
265
- :id => "1234"
256
+ message_type: 'inapp',
257
+ body: "What's up :)",
258
+ from: {
259
+ type: 'admin',
260
+ id: "1234"
266
261
  },
267
- :to => {
268
- :type => "user",
269
- :user_id => "5678"
262
+ to: {
263
+ type: "user",
264
+ user_id: "5678"
270
265
  }
271
266
  })
272
267
 
273
268
  # Email message from admin to user
274
269
  intercom.messages.create({
275
- :message_type => 'email',
276
- :subject => 'Hey there',
277
- :body => "What's up :)",
278
- :template => "plain", # or "personal",
279
- :from => {
280
- :type => "admin",
281
- :id => "1234"
270
+ message_type: 'email',
271
+ subject: 'Hey there',
272
+ body: "What's up :)",
273
+ template: "plain", # or "personal",
274
+ from: {
275
+ type: "admin",
276
+ id: "1234"
282
277
  },
283
- :to => {
284
- :type => "user",
285
- :id => "536e564f316c83104c000020"
278
+ to: {
279
+ type: "user",
280
+ id: "536e564f316c83104c000020"
286
281
  }
287
282
  })
288
283
 
289
284
  # Message from a user
290
285
  intercom.messages.create({
291
- :from => {
292
- :type => "user",
293
- :id => "536e564f316c83104c000020"
286
+ from: {
287
+ type: "user",
288
+ id: "536e564f316c83104c000020"
294
289
  },
295
- :body => "halp"
290
+ body: "halp"
296
291
  })
297
292
 
298
293
  # Message from admin to contact
299
294
 
300
295
  intercom.messages.create({
301
- :body => "How can I help :)",
302
- :from => {
303
- :type => "admin",
304
- :id => "1234"
296
+ body: "How can I help :)",
297
+ from: {
298
+ type: "admin",
299
+ id: "1234"
305
300
  },
306
- :to => {
307
- :type => "contact",
308
- :id => "536e5643as316c83104c400671"
301
+ to: {
302
+ type: "contact",
303
+ id: "536e5643as316c83104c400671"
309
304
  }
310
305
  })
311
306
 
312
307
  # Message from a contact
313
308
  intercom.messages.create({
314
- :from => {
315
- :type => "contact",
316
- :id => "536e5643as316c83104c400671"
309
+ from: {
310
+ type: "contact",
311
+ id: "536e5643as316c83104c400671"
317
312
  },
318
- :body => "halp"
313
+ body: "halp"
319
314
  })
320
315
  ```
321
316
 
322
317
  #### Events
323
318
  ```ruby
324
319
  intercom.events.create(
325
- :event_name => "invited-friend", :created_at => Time.now.to_i,
326
- :email => user.email,
327
- :metadata => {
320
+ event_name: "invited-friend",
321
+ created_at: Time.now.to_i,
322
+ email: user.email,
323
+ metadata: {
328
324
  "invitee_email" => "pi@example.org",
329
- :invite_code => "ADDAFRIEND",
325
+ invite_code: "ADDAFRIEND",
330
326
  "found_date" => 12909364407
331
327
  }
332
328
  )
@@ -339,25 +335,27 @@ intercom.events.create(
339
335
  Metadata Objects support a few simple types that Intercom can present on your behalf
340
336
 
341
337
  ```ruby
342
- intercom.events.create(:event_name => "placed-order", :email => current_user.email,
343
- :created_at => 1403001013,
344
- :metadata => {
345
- :order_date => Time.now.to_i,
346
- :stripe_invoice => 'inv_3434343434',
347
- :order_number => {
348
- :value => '3434-3434',
349
- :url => 'https://example.org/orders/3434-3434'
338
+ intercom.events.create(
339
+ event_name: "placed-order",
340
+ email: current_user.email,
341
+ created_at: 1403001013,
342
+ metadata: {
343
+ order_date: Time.now.to_i,
344
+ stripe_invoice: 'inv_3434343434',
345
+ order_number: {
346
+ value: '3434-3434',
347
+ url: 'https://example.org/orders/3434-3434'
350
348
  },
351
349
  price: {
352
- :currency => 'usd',
353
- :amount => 2999
350
+ currency: 'usd',
351
+ amount: 2999
354
352
  }
355
353
  }
356
354
  )
357
355
  ```
358
356
 
359
357
  The metadata key values in the example are treated as follows-
360
- - order_date: a Date (key ends with '_date').
358
+ - order_date: a Date (key ends with '_date')
361
359
  - stripe_invoice: The identifier of the Stripe invoice (has a 'stripe_invoice' key)
362
360
  - order_number: a Rich Link (value contains 'url' and 'value' keys)
363
361
  - price: An Amount in US Dollars (value contains 'amount' and 'currency' keys)
@@ -450,10 +448,10 @@ Subscribe to events in Intercom to receive webhooks.
450
448
 
451
449
  ```ruby
452
450
  # create a subscription
453
- intercom.subscriptions.create(:url => "http://example.com", :topics => ["user.created"])
451
+ intercom.subscriptions.create(url: "http://example.com", topics: ["user.created"])
454
452
 
455
453
  # fetch a subscription
456
- intercom.subscriptions.find(:id => "nsub_123456789")
454
+ intercom.subscriptions.find(id: "nsub_123456789")
457
455
 
458
456
  # list subscriptions
459
457
  intercom.subscriptions.all
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency "fakeweb", ["~> 1.3"]
26
26
  spec.add_development_dependency "pry"
27
27
 
28
- spec.add_dependency 'json', '~> 1.8'
28
+ spec.add_dependency 'json', '>= 1.8'
29
29
  spec.required_ruby_version = '>= 2.1.0'
30
30
  spec.add_development_dependency 'gem-release'
31
31
  end
@@ -29,7 +29,6 @@ require "intercom/message"
29
29
  require "intercom/admin"
30
30
  require "intercom/request"
31
31
  require "intercom/subscription"
32
- require "intercom/utils"
33
32
  require "intercom/errors"
34
33
  require "intercom/visitor"
35
34
  require "json"
@@ -1,3 +1,5 @@
1
+ require 'intercom/utils'
2
+
1
3
  module Intercom
2
4
  module ApiOperations
3
5
  module Bulk
@@ -1,4 +1,4 @@
1
- require 'intercom/traits/api_resource'
1
+ require 'intercom/utils'
2
2
 
3
3
  module Intercom
4
4
  module ApiOperations
@@ -1,3 +1,5 @@
1
+ require 'intercom/utils'
2
+
1
3
  module Intercom
2
4
  module ApiOperations
3
5
  module Find
@@ -1,4 +1,5 @@
1
1
  require 'intercom/client_collection_proxy'
2
+ require 'intercom/utils'
2
3
 
3
4
  module Intercom
4
5
  module ApiOperations
@@ -1,4 +1,5 @@
1
1
  require 'intercom/client_collection_proxy'
2
+ require 'intercom/utils'
2
3
 
3
4
  module Intercom
4
5
  module ApiOperations
@@ -1,3 +1,5 @@
1
+ require 'intercom/utils'
2
+
1
3
  module Intercom
2
4
  module ApiOperations
3
5
  module Load
@@ -1,4 +1,5 @@
1
- require 'intercom/traits/api_resource'
1
+ require 'intercom/utils'
2
+ require 'ext/sliceable_hash'
2
3
 
3
4
  module Intercom
4
5
  module ApiOperations
@@ -1,4 +1,5 @@
1
1
  require 'intercom/scroll_collection_proxy'
2
+ require 'intercom/utils'
2
3
 
3
4
  module Intercom
4
5
  module ApiOperations
@@ -13,4 +14,4 @@ module Intercom
13
14
 
14
15
  end
15
16
  end
16
- end
17
+ end
@@ -1,5 +1,4 @@
1
1
  require "intercom/utils"
2
- require "ext/sliceable_hash"
3
2
 
4
3
  module Intercom
5
4
  class ClientCollectionProxy
@@ -1,5 +1,5 @@
1
- require 'intercom/traits/api_resource'
2
1
  require 'intercom/client_collection_proxy'
2
+ require 'intercom/utils'
3
3
 
4
4
  module Intercom
5
5
  module ExtendedApiOperations
@@ -1,5 +1,5 @@
1
- require 'intercom/traits/api_resource'
2
1
  require 'intercom/client_collection_proxy'
2
+ require 'intercom/utils'
3
3
 
4
4
  module Intercom
5
5
  module ExtendedApiOperations
@@ -1,4 +1,5 @@
1
- require 'intercom/traits/api_resource'
1
+ require 'intercom/client_collection_proxy'
2
+ require 'intercom/utils'
2
3
 
3
4
  module Intercom
4
5
  module ExtendedApiOperations
@@ -1,6 +1,7 @@
1
+ require 'intercom/utils'
2
+
1
3
  module Intercom
2
4
  module Lib
3
-
4
5
  # Responsibility: To decide whether we are deserializing a collection or an
5
6
  # entity of a particular type and to dispatch deserialization
6
7
  class TypedJsonDeserializer
@@ -1,5 +1,4 @@
1
1
  require "intercom/utils"
2
- require "ext/sliceable_hash"
3
2
 
4
3
  module Intercom
5
4
  class ScrollCollectionProxy
@@ -80,4 +79,4 @@ module Intercom
80
79
  response_hash['scroll_param']
81
80
  end
82
81
  end
83
- end
82
+ end
@@ -3,6 +3,7 @@ require 'intercom/api_operations/find_all'
3
3
  require 'intercom/api_operations/find'
4
4
  require 'intercom/api_operations/load'
5
5
  require 'intercom/api_operations/save'
6
+ require 'intercom/utils'
6
7
 
7
8
  module Intercom
8
9
  module Service
@@ -1,3 +1,3 @@
1
1
  module Intercom #:nodoc:
2
- VERSION = "3.5.9"
2
+ VERSION = "3.5.10"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: intercom
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.9
4
+ version: 3.5.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben McRedmond
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2016-10-27 00:00:00.000000000 Z
18
+ date: 2017-01-10 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: minitest
@@ -91,14 +91,14 @@ dependencies:
91
91
  name: json
92
92
  requirement: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.8'
97
97
  type: :runtime
98
98
  prerelease: false
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '1.8'
104
104
  - !ruby/object:Gem::Dependency
@@ -242,7 +242,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
242
242
  version: '0'
243
243
  requirements: []
244
244
  rubyforge_project: intercom
245
- rubygems_version: 2.6.1
245
+ rubygems_version: 2.4.8
246
246
  signing_key:
247
247
  specification_version: 4
248
248
  summary: Ruby bindings for the Intercom API