intercom 3.6.1 → 3.6.2

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: 7be32afec8fcf15ffa2598c616e9683009061cde
4
- data.tar.gz: 1b8d355eca0509e9a908f0837a429cd4e7b8f4b4
3
+ metadata.gz: fb279cee47b8721db490a1cc48254cd0c77ce2f5
4
+ data.tar.gz: 7c4692eec6c02dff011cc59a3c59e8cbed2623f9
5
5
  SHA512:
6
- metadata.gz: 2555e34cce12982bbc52c2d4c0fba7e2671362edeb52ce7b5d93135ad9d4ac1382d98a52a37b51f4a6a33fc38a3069423aaf4aa6f8a0507ca4009a22305b4b3f
7
- data.tar.gz: 356cc3db92090c795b57854072ef16b6711afe296320545691778aa8a30666da78670f31b685944cbc5eaac84611c1a8e0002ec475268a358b54a0f1504562ff
6
+ metadata.gz: ff17f1177da16e8d48d932ff27c48bec548a9e7d6ce2183657d1d8e5e21156826674d30557d644e5249f2f2c9f3151018ba1e69223e99a2b591d66a21f75ca66
7
+ data.tar.gz: e38a41bf57b2c4714197a4812458eb13080e4ef7acfec8c574feb10139d4a64f6fec737bb55f3979125c3c8e66d8d93179c8aa1f0f7112f97655a6e9e9975172
data/README.md CHANGED
@@ -22,7 +22,7 @@ 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.6.0'
25
+ gem 'intercom', '~> 3.6.1'
26
26
 
27
27
  ## Basic Usage
28
28
 
@@ -228,8 +228,13 @@ intercom.conversations.open(id: conversation.id, admin_id: '123')
228
228
  intercom.conversations.close(id: conversation.id, admin_id: '123')
229
229
 
230
230
  # Assign
231
+ # Note: Conversations can be assigned to teams. However, the entity that performs the operation of assigning the conversation has to be an existing teammate.
232
+ # You can use `intercom.admins.all.each {|a| puts a.inspect if a.type == 'admin' }` to list all of your teammates.
231
233
  intercom.conversations.assign(id: conversation.id, admin_id: '123', assignee_id: '124')
232
234
 
235
+ # Snooze
236
+ intercom.conversations.snooze(id: conversation.id, admin_id: '123', snoozed_until: 9999999999)
237
+
233
238
  # Reply and Open
234
239
  intercom.conversations.reply(id: conversation.id, type: 'admin', admin_id: '123', message_type: 'open', body: 'bar')
235
240
 
@@ -1,3 +1,25 @@
1
+ 3.6.1
2
+ #430 Allow all conversations to be listed
3
+ You can now iterate over all conversations for your app via:
4
+ intercom.conversations.all.each { |convo| ... }
5
+
6
+ 3.6.0
7
+ BREAKING CHANGE companies
8
+ We updated companies to be able to list users via company_id as well as id (#428 )
9
+ Note that this is a breaking change as we had to remove the old way of listing users via company.
10
+
11
+ Previously it was:
12
+ intercom.companies.users(company.id)
13
+
14
+ Now you get a list of users in a company by Intercom Company ID
15
+ intercom.companies.users_by_intercom_company_id(company.id)
16
+
17
+ Now you get a list of users in a company by external company_id
18
+ intercom.companies.users_by_company_id(company.company_id)
19
+
20
+ Rate limit handling
21
+ We also improved the way we handle rate limits in PR #409 which was related to issue #405
22
+
1
23
  3.5.23
2
24
  - New type of error (ResourceNotUniqueError). Thrown when trying to create a resource that already exists in Intercom
3
25
 
@@ -37,6 +37,11 @@ module Intercom
37
37
  reply reply_data.merge(message_type: 'close', type: 'admin')
38
38
  end
39
39
 
40
+ def snooze(reply_data)
41
+ snoozed_until = reply_data.fetch(:snoozed_until) { fail 'snoozed_until field is required' }
42
+ reply reply_data.merge(message_type: 'snoozed', type: 'admin')
43
+ end
44
+
40
45
  def assign(reply_data)
41
46
  assignee_id = reply_data.fetch(:assignee_id) { fail 'assignee_id is required' }
42
47
  reply reply_data.merge(message_type: 'assignment', assignee_id: assignee_id, type: 'admin')
@@ -1,3 +1,3 @@
1
1
  module Intercom #:nodoc:
2
- VERSION = "3.6.1"
2
+ VERSION = "3.6.2"
3
3
  end
@@ -2,6 +2,7 @@ require 'intercom'
2
2
  require 'minitest/autorun'
3
3
  require 'mocha/setup'
4
4
  require 'webmock'
5
+ require 'time'
5
6
  include WebMock::API
6
7
 
7
8
  def test_user(email="bob@example.com")
@@ -625,6 +626,10 @@ def test_event_list
625
626
  }
626
627
  end
627
628
 
629
+ def tomorrow
630
+ (DateTime.now.to_time + 1).to_i
631
+ end
632
+
628
633
  def page_of_events(include_next_link=false)
629
634
  {
630
635
  "type" => "event.list",
@@ -43,6 +43,11 @@ describe "Intercom::Conversation" do
43
43
  client.conversations.assign(id: '147', admin_id: '123', assignee_id: '124')
44
44
  end
45
45
 
46
+ it 'snoozes a conversation' do
47
+ client.expects(:post).with('/conversations/147/reply', { type: 'admin', message_type: 'snoozed', conversation_id: '147', admin_id: '123', snoozed_until: tomorrow}).returns(test_conversation)
48
+ client.conversations.snooze(id: '147', admin_id: '123', snoozed_until: tomorrow)
49
+ end
50
+
46
51
  # it "creates a subscription" do
47
52
  # client.expects(:post).with("/subscriptions", {'url' => "http://example.com", 'topics' => ["user.created"]}).returns(test_subscription)
48
53
  # subscription = client.subscriptions.create(:url => "http://example.com", :topics => ["user.created"])
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.6.1
4
+ version: 3.6.2
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: 2018-10-03 00:00:00.000000000 Z
18
+ date: 2018-10-05 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: minitest
@@ -229,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
229
229
  version: '0'
230
230
  requirements: []
231
231
  rubyforge_project: intercom
232
- rubygems_version: 2.6.14.1
232
+ rubygems_version: 2.6.14
233
233
  signing_key:
234
234
  specification_version: 4
235
235
  summary: Ruby bindings for the Intercom API