intercom 3.5.9 → 3.5.10

Sign up to get free protection for your applications and to get access to all the features.
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