intercom 3.8.1 → 3.9.0

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
  SHA256:
3
- metadata.gz: 82e1587dad8e896255cd493bccb9cb2a389ddf1805aead74cd1a645ebbc6eac4
4
- data.tar.gz: 53ad03e351f26b5c67558ffc2195811732980d746d1b5d54681d7a8f98360ffa
3
+ metadata.gz: 1b9cbc7fa1ebcd80a2cab246e89dbab5f86b0f1ec94995b1d2ebdda342dc9dce
4
+ data.tar.gz: c926b260d154dea87dc2f666d27cfd6e5c61c986071969f0c22c5f7389da3f14
5
5
  SHA512:
6
- metadata.gz: 4fa0433095b490feb4810fe1ad432a0de9c7007f1eb5bcf7cc3725658c0c23b85daf3f4339f1d71b9a9a522c4a55eaaf011c394a3543eb1c6957306389115732
7
- data.tar.gz: f90a678af75d18574ee46c786f7ad954c9d8164642c4b161ae9dd10e15160cef319981c28b2ad0fb891f40a9fefd0df3d784c5ea10cf090dce5b916112e86b4d
6
+ metadata.gz: a14065260cca33928e257df6970c3dcfe0c9fc73478d6a4f0f0f5c0f03f20bb82f9662bc8ba59a7531308090072f69f9b4ab6d78be7534898430479ac65a1c2d
7
+ data.tar.gz: fb99bfcc7e38da3119efff1f1ff8e905f9204e785cac8600f0f1dadbc98dbaf0d62efc66559936212ee045c34915a5b37931778fe4c4c5ad6bceccae312d3d35
data/README.md CHANGED
@@ -18,11 +18,12 @@ This version of the gem is compatible with `Ruby 2.1` and above.
18
18
 
19
19
  ## Installation
20
20
 
21
+
21
22
  gem install intercom
22
23
 
23
24
  Using bundler:
24
25
 
25
- gem 'intercom', '~> 3.8.0'
26
+ gem 'intercom', '~> 3.8.1'
26
27
 
27
28
  ## Basic Usage
28
29
 
@@ -48,6 +49,7 @@ You can also use the [omniauth-intercom lib](https://github.com/intercom/omniaut
48
49
  Resources this API supports:
49
50
 
50
51
  https://api.intercom.io/users
52
+ https://api.intercom.io/teams
51
53
  https://api.intercom.io/contacts
52
54
  https://api.intercom.io/companies
53
55
  https://api.intercom.io/counts
@@ -128,6 +130,14 @@ intercom.admins.find(id: admin_id)
128
130
  intercom.admins.all.each {|admin| puts admin.email }
129
131
  ```
130
132
 
133
+ #### Teams
134
+ ```ruby
135
+ # Find a team by id
136
+ intercom.teams.find(id: team_id)
137
+ # Iterate over all teams
138
+ intercom.teams.all.each {|team| puts team.name }
139
+ ```
140
+
131
141
  #### Companies
132
142
  ```ruby
133
143
  # Add a user to one or more companies
data/changes.txt CHANGED
@@ -1,3 +1,6 @@
1
+ 3.8.1
2
+ Added error handling for company_not_found
3
+
1
4
  3.8.0
2
5
  Add support for Customer Search (currently in Unstable API Version)
3
6
  https://developers.intercom.com/intercom-api-reference/v0/reference#customers
data/lib/intercom.rb CHANGED
@@ -12,6 +12,7 @@ require 'intercom/service/job'
12
12
  require 'intercom/service/subscription'
13
13
  require 'intercom/service/segment'
14
14
  require 'intercom/service/tag'
15
+ require 'intercom/service/team'
15
16
  require 'intercom/service/user'
16
17
  require 'intercom/service/visitor'
17
18
  require 'intercom/options'
@@ -31,6 +32,7 @@ require "intercom/message"
31
32
  require "intercom/admin"
32
33
  require "intercom/request"
33
34
  require "intercom/subscription"
35
+ require "intercom/team"
34
36
  require "intercom/errors"
35
37
  require "intercom/visitor"
36
38
  require "json"
@@ -95,6 +95,10 @@ module Intercom
95
95
  Intercom::Service::Tag.new(self)
96
96
  end
97
97
 
98
+ def teams
99
+ Intercom::Service::Team.new(self)
100
+ end
101
+
98
102
  def users
99
103
  Intercom::Service::User.new(self)
100
104
  end
@@ -0,0 +1,17 @@
1
+ require 'intercom/service/base_service'
2
+ require 'intercom/api_operations/list'
3
+ require 'intercom/api_operations/find'
4
+
5
+ module Intercom
6
+ module Service
7
+ class Team < BaseService
8
+ include ApiOperations::List
9
+ include ApiOperations::Find
10
+
11
+ def collection_class
12
+ Intercom::Team
13
+ end
14
+
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,7 @@
1
+ require 'intercom/traits/api_resource'
2
+
3
+ module Intercom
4
+ class Team
5
+ include Traits::ApiResource
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module Intercom #:nodoc:
2
- VERSION = "3.8.1"
2
+ VERSION = "3.9.0"
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -145,6 +145,35 @@ def test_admin
145
145
  }
146
146
  end
147
147
 
148
+ def test_team_list
149
+ {
150
+ "type"=> "team.list",
151
+ "teams" => [
152
+ {
153
+ "type"=> "team",
154
+ "id"=> "2744328",
155
+ "name"=> "the_a_team",
156
+ "admin_ids"=> [646303, 814860],
157
+ },
158
+ {
159
+ "type"=> "team",
160
+ "id"=> "814865",
161
+ "name"=> "BA_App",
162
+ "admin_ids" => [492881, 1195856]
163
+ },
164
+ ]
165
+ }
166
+ end
167
+
168
+ def test_team
169
+ {
170
+ "type" => "team",
171
+ "id" => "2744328",
172
+ "name" => "the_a_team",
173
+ "admin_ids" => [646303, 814860]
174
+ }
175
+ end
176
+
148
177
  def test_company
149
178
  {
150
179
  "type" => "company",
@@ -0,0 +1,21 @@
1
+ require "spec_helper"
2
+
3
+ describe "Intercom::Team" do
4
+ let (:client) { Intercom::Client.new(token: 'token') }
5
+
6
+ it "returns a CollectionProxy for all without making any requests" do
7
+ client.expects(:execute_request).never
8
+ all = client.teams.all
9
+ all.must_be_instance_of(Intercom::ClientCollectionProxy)
10
+ end
11
+
12
+ it 'gets an team list' do
13
+ client.expects(:get).with("/teams", {}).returns(test_team_list)
14
+ client.teams.all.each { |t| }
15
+ end
16
+
17
+ it "gets an team" do
18
+ client.expects(:get).with("/teams/1234", {}).returns(test_team)
19
+ client.teams.find(:id => "1234")
20
+ end
21
+ 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.8.1
4
+ version: 3.9.0
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: 2019-10-03 00:00:00.000000000 Z
18
+ date: 2019-10-09 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: minitest
@@ -181,10 +181,12 @@ files:
181
181
  - lib/intercom/service/segment.rb
182
182
  - lib/intercom/service/subscription.rb
183
183
  - lib/intercom/service/tag.rb
184
+ - lib/intercom/service/team.rb
184
185
  - lib/intercom/service/user.rb
185
186
  - lib/intercom/service/visitor.rb
186
187
  - lib/intercom/subscription.rb
187
188
  - lib/intercom/tag.rb
189
+ - lib/intercom/team.rb
188
190
  - lib/intercom/traits/api_resource.rb
189
191
  - lib/intercom/traits/dirty_tracking.rb
190
192
  - lib/intercom/traits/incrementable_attributes.rb
@@ -211,6 +213,7 @@ files:
211
213
  - spec/unit/intercom/segment_spec.rb
212
214
  - spec/unit/intercom/subscription_spec.rb
213
215
  - spec/unit/intercom/tag_spec.rb
216
+ - spec/unit/intercom/team_spec.rb
214
217
  - spec/unit/intercom/traits/api_resource_spec.rb
215
218
  - spec/unit/intercom/user_spec.rb
216
219
  - spec/unit/intercom/visitors_spec.rb
@@ -259,6 +262,7 @@ test_files:
259
262
  - spec/unit/intercom/segment_spec.rb
260
263
  - spec/unit/intercom/subscription_spec.rb
261
264
  - spec/unit/intercom/tag_spec.rb
265
+ - spec/unit/intercom/team_spec.rb
262
266
  - spec/unit/intercom/traits/api_resource_spec.rb
263
267
  - spec/unit/intercom/user_spec.rb
264
268
  - spec/unit/intercom/visitors_spec.rb