intercom 0.1.17 → 0.1.19

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: 2542e949c8790fdda2853591a4ff6ba813d012d2
4
- data.tar.gz: 4a56e18ab1676b9101b2e00441a66e7e1079c544
3
+ metadata.gz: e0f05d2c37716b065556503a2b8f4db41bb80431
4
+ data.tar.gz: f0ab697881c32c597a7ab7a176936f3f9b0e327d
5
5
  SHA512:
6
- metadata.gz: 0569d66b5412fb386aa66f79f5cc72284a78853b5a111cf3b704246cf153f2acfb024d659f519b5723307472984a95c6bd949a19e727f4cfd12cbe96600d2c8d
7
- data.tar.gz: 98eed931b9e8ef92484af33fb5b8d315126f4f0d1c08b52a2d6b25d8209aa422998729b4ab112accd9fab8ed8be6c95db092b6c42fac42557044e1cff7f21352
6
+ metadata.gz: fe1d59e7f7aa6b898803b3a49649524d8de5fdb718996d9b86af0b70d98f29de67ecc988e47ae501ae1aeb95024892669757e6c06685a9f8150b3496b9a9379e
7
+ data.tar.gz: e0490f3a22078191de4d259c558181cc12871e183665b481aabc90600ceb5b5747e706bc0399ee62a23152bdde804d4aec98710583402645a5c0f2ef02df3024
data/.gitignore CHANGED
@@ -8,3 +8,4 @@ pkg/*
8
8
  .yardoc
9
9
  spike.rb
10
10
  html
11
+ .idea
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Ruby bindings for the Intercom API (https://api.intercom.io).
4
4
 
5
- [API Documentation](https://api.intercom.io)
5
+ [API Documentation](https://api.intercom.io/docs)
6
6
 
7
7
  [Gem Documentation](http://rubydoc.info/github/intercom/intercom-ruby/master/frames)
8
8
 
@@ -20,8 +20,10 @@ Using bundler:
20
20
 
21
21
  ### Configure your access credentials
22
22
 
23
- Intercom.app_id = "my_app_iddd"
24
- Intercom.api_key = "my-super-crazy-api-key"
23
+ ```ruby
24
+ Intercom.app_id = "my_app_id"
25
+ Intercom.api_key = "my-super-crazy-api-key"
26
+ ```
25
27
 
26
28
  ### Resources
27
29
 
@@ -35,44 +37,55 @@ The API supports:
35
37
  ### Examples
36
38
 
37
39
  #### Users
38
- user = Intercom::User.find_by_email("bob@example.com")
39
- user.custom_data["average_monthly_spend"] = 1234.56
40
- user.save
41
- user = Intercom::User.find_by_user_id("bob@example.com")
42
- user = Intercom::User.create(:email => "bob@example.com", :name => "Bob Smith")
43
- user = Intercom::User.new(params)
44
- user.save
45
- Intercom::User.all.count
46
- Intercom::User.all.each {|user| puts %Q(#{user.email} - #{user.custom_data["average_monthly_spend"]}) }
47
- Intercom::User.all.map {|user| user.email }
40
+
41
+ ```ruby
42
+ user = Intercom::User.find_by_email("bob@example.com")
43
+ user.custom_data["average_monthly_spend"] = 1234.56
44
+ user.save
45
+ user = Intercom::User.find_by_user_id("bob@example.com")
46
+ user = Intercom::User.create(:email => "bob@example.com", :name => "Bob Smith")
47
+ user = Intercom::User.new(params)
48
+ user.save
49
+ Intercom::User.all.count
50
+ Intercom::User.all.each {|user| puts %Q(#{user.email} - #{user.custom_data["average_monthly_spend"]}) }
51
+ Intercom::User.all.map {|user| user.email }
52
+ ```
48
53
 
49
54
  #### Companies
50
- user = Intercom::User.find_by_email("bob@example.com")
51
- user.company = {:id => 6, :name => "Intercom"}
52
- user.companies = [{:id => 6, :name => "Intercom"}, {:id => 9, :name => "Test Company"}]
55
+ ```ruby
56
+ user = Intercom::User.find_by_email("bob@example.com")
57
+ user.company = {:id => 6, :name => "Intercom"}
58
+ user.companies = [{:id => 6, :name => "Intercom"}, {:id => 9, :name => "Test Company"}]
59
+ ```
53
60
 
54
61
  You can also pass custom data within a company:
55
62
 
56
- user.company = {:id => 6, :name => "Intercom", :referral_source => "Google"}
63
+ ```ruby
64
+ user.company = {:id => 6, :name => "Intercom", :referral_source => "Google"}
65
+ ```
57
66
 
58
67
  #### Message Threads
59
-
60
- Intercom::MessageThread.create(:email => "bob@example.com", :body => "Example message from bob@example.com to your application on Intercom.")
61
- Intercom::MessageThread.find(:email => "bob@example.com", :thread_id => 123)
62
- Intercom::MessageThread.find_all(:email => "bob@example.com")
63
- Intercom::MessageThread.mark_as_read(:email => "bob@example.com", :thread_id => 123)
68
+ ```ruby
69
+ Intercom::MessageThread.create(:email => "bob@example.com", :body => "Example message from bob@example.com to your application on Intercom.")
70
+ Intercom::MessageThread.find(:email => "bob@example.com", :thread_id => 123)
71
+ Intercom::MessageThread.find_all(:email => "bob@example.com")
72
+ Intercom::MessageThread.mark_as_read(:email => "bob@example.com", :thread_id => 123)
73
+ ```
64
74
 
65
75
  #### Impressions
66
-
67
- Intercom::Impression.create(:email => "bob@example.com", :location => "/path/in/my/app", :user_ip => "1.2.3.4", :user_agent => "my-savage-iphone-app-0.1"
76
+ ```ruby
77
+ Intercom::Impression.create(:email => "bob@example.com", :location => "/path/in/my/app", :user_ip => "1.2.3.4", :user_agent => "my-savage-iphone-app-0.1"
78
+ ```
68
79
 
69
80
  #### Notes
70
-
71
- Intercom::Note.create(:email => "bob@example.com", :body => "This is the text of the note")
81
+ ```ruby
82
+ Intercom::Note.create(:email => "bob@example.com", :body => "This is the text of the note")
83
+ ```
72
84
 
73
85
  ### Errors
74
-
75
- Intercom::AuthenticationError
76
- Intercom::ServerError
77
- Intercom::ServiceUnavailableError
78
- Intercom::ResourceNotFound
86
+ ```ruby
87
+ Intercom::AuthenticationError
88
+ Intercom::ServerError
89
+ Intercom::ServiceUnavailableError
90
+ Intercom::ResourceNotFound
91
+ ```
data/changes.txt CHANGED
@@ -1,3 +1,9 @@
1
+ 0.1.19
2
+ - Update DELETE request to fix issue.
3
+
4
+ 0.1.18
5
+ - Increase connection and read timeouts
6
+
1
7
  0.1.16
2
8
  - Add BadGatewayError to properly report that sort of error.
3
9
 
data/intercom.gemspec CHANGED
@@ -23,4 +23,6 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency 'rake'
24
24
  spec.add_development_dependency 'mocha'
25
25
  spec.add_development_dependency "fakeweb", ["~> 1.3"]
26
+
27
+ spec.add_dependency 'json'
26
28
  end
@@ -25,7 +25,7 @@ module Intercom
25
25
  end
26
26
 
27
27
  def self.delete(path, params)
28
- new(path, Net::HTTP::Delete.new(append_query_string_to_url(path, params), default_headers))
28
+ new(path, method_with_body(Net::HTTP::Delete, path, params))
29
29
  end
30
30
 
31
31
  def self.put(path, form_data)
@@ -50,8 +50,8 @@ module Intercom
50
50
  net.verify_mode = OpenSSL::SSL::VERIFY_PEER
51
51
  net.ca_file = File.join(File.dirname(__FILE__), '../data/cacert.pem')
52
52
  end
53
- net.read_timeout = 30
54
- net.open_timeout = 3
53
+ net.read_timeout = 90
54
+ net.open_timeout = 30
55
55
  net
56
56
  end
57
57
 
@@ -93,4 +93,4 @@ module Intercom
93
93
  url + "?#{query_string}"
94
94
  end
95
95
  end
96
- end
96
+ end
@@ -1,3 +1,3 @@
1
1
  module Intercom #:nodoc:
2
- VERSION = "0.1.17"
2
+ VERSION = "0.1.19"
3
3
  end
@@ -0,0 +1,45 @@
1
+ {
2
+ "intercom_id": "528f291df8d4a41d8c000088",
3
+ "email": "somebody@example.com",
4
+ "user_id": "123",
5
+ "name": "Somebody",
6
+ "created_at": 1270000000,
7
+ "last_impression_at": 1300000000,
8
+ "custom_data": {
9
+ "app_name": "Genesis",
10
+ "monthly_spend": 155.5,
11
+ "team_mates": 7
12
+ },
13
+ "social_profiles": [
14
+ {
15
+ "type": "twitter",
16
+ "url": "http://twitter.com/abc",
17
+ "username": "abc"
18
+ },
19
+ {
20
+ "type": "facebook",
21
+ "url": "http://facebook.com/vanity",
22
+ "username": "vanity",
23
+ "id": "13241141441141413"
24
+ }
25
+ ],
26
+ "location_data": {
27
+ "city_name": "Santiago",
28
+ "continent_code": "SA",
29
+ "country_name": "Chile",
30
+ "latitude": -33.44999999999999,
31
+ "longitude": -70.6667,
32
+ "postal_code": "",
33
+ "region_name": "12",
34
+ "timezone": "Chile/Continental",
35
+ "country_code": "CHL"
36
+ },
37
+ "session_count": 0,
38
+ "last_seen_ip": "127.0.0.1",
39
+ "last_seen_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
40
+ "unsubscribed_from_emails": false,
41
+ "avatar_url": "https://graph.facebook.com/13241141441141413/picture?width=24&height=24",
42
+ "company_ids": [
43
+
44
+ ]
45
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "unread_messages": 1
3
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "created_at": 1385114541,
3
+ "updated_at": 1385028141,
4
+ "read": true,
5
+ "created_by_user": true,
6
+ "thread_id": 5591,
7
+ "message_id": 5591,
8
+ "message_type": "conversation",
9
+ "interrupt": true,
10
+ "messages": [
11
+ {
12
+ "created_at": 1385114541,
13
+ "url": null,
14
+ "html": "<p>Hey Intercom, What is up?</p>\n\n<p></p>",
15
+ "subject": "",
16
+ "from": {
17
+ "email": "bob@example.com",
18
+ "user_id": "456",
19
+ "name": "Bob",
20
+ "is_admin": false,
21
+ "avatar": {
22
+ }
23
+ }
24
+ },
25
+ {
26
+ "created_at": 1384941741,
27
+ "url": null,
28
+ "html": "<p>Not much, you?\n</p>"
29
+ },
30
+ {
31
+ "created_at": 1385028141,
32
+ "url": null,
33
+ "html": "<p>Not much either :(</p>\n\n<p></p>",
34
+ "from": {
35
+ "email": "bob@example.com",
36
+ "user_id": "123",
37
+ "name": "Bob",
38
+ "is_admin": false,
39
+ "avatar": {
40
+ }
41
+ }
42
+ }
43
+ ]
44
+ }
@@ -0,0 +1,46 @@
1
+ [
2
+ {
3
+ "created_at": 1385114400,
4
+ "updated_at": 1385028000,
5
+ "read": true,
6
+ "created_by_user": true,
7
+ "thread_id": 5591,
8
+ "message_id": 5591,
9
+ "message_type": "conversation",
10
+ "interrupt": true,
11
+ "messages": [
12
+ {
13
+ "created_at": 1385114400,
14
+ "url": null,
15
+ "html": "<p>Hey Intercom, What is up?</p>\n\n<p></p>",
16
+ "subject": "",
17
+ "from": {
18
+ "email": "somebody@example.com",
19
+ "user_id": "123",
20
+ "name": "Somebody",
21
+ "is_admin": false,
22
+ "avatar": {
23
+ }
24
+ }
25
+ },
26
+ {
27
+ "created_at": 1384941600,
28
+ "url": null,
29
+ "html": "<p>Not much, you?\n</p>"
30
+ },
31
+ {
32
+ "created_at": 1385028000,
33
+ "url": null,
34
+ "html": "<p>Not much either :(</p>\n\n<p></p>",
35
+ "from": {
36
+ "email": "somebody@example.com",
37
+ "user_id": "123",
38
+ "name": "Somebody",
39
+ "is_admin": false,
40
+ "avatar": {
41
+ }
42
+ }
43
+ }
44
+ ]
45
+ }
46
+ ]
@@ -0,0 +1,49 @@
1
+ {
2
+ "html": "<p>This is a note</p>",
3
+ "created_at": null,
4
+ "user": {
5
+ "intercom_id": "528f2cbb1b393a6e470000e6",
6
+ "email": "somebody@example.com",
7
+ "user_id": "123",
8
+ "name": "Somebody",
9
+ "created_at": 1270000000,
10
+ "last_impression_at": 1300000000,
11
+ "custom_data": {
12
+ "app_name": "Genesis",
13
+ "monthly_spend": 155.5,
14
+ "team_mates": 7
15
+ },
16
+ "social_profiles": [
17
+ {
18
+ "type": "twitter",
19
+ "url": "http://twitter.com/abc",
20
+ "username": "abc"
21
+ },
22
+ {
23
+ "type": "facebook",
24
+ "url": "http://facebook.com/vanity",
25
+ "username": "vanity",
26
+ "id": "13241141441141413"
27
+ }
28
+ ],
29
+ "location_data": {
30
+ "city_name": "Santiago",
31
+ "continent_code": "SA",
32
+ "country_name": "Chile",
33
+ "latitude": -33.44999999999999,
34
+ "longitude": -70.6667,
35
+ "postal_code": "",
36
+ "region_name": "12",
37
+ "timezone": "Chile/Continental",
38
+ "country_code": "CHL"
39
+ },
40
+ "session_count": 0,
41
+ "last_seen_ip": "127.0.0.1",
42
+ "last_seen_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
43
+ "unsubscribed_from_emails": false,
44
+ "avatar_url": "https://graph.facebook.com/13241141441141413/picture?width=24&height=24",
45
+ "company_ids": [
46
+
47
+ ]
48
+ }
49
+ }
@@ -0,0 +1,144 @@
1
+ {
2
+ "users": [
3
+ {
4
+ "intercom_id": "528f27c330972d783600006d",
5
+ "email": "first.user@example.com",
6
+ "user_id": "123",
7
+ "name": "First User",
8
+ "created_at": 1270000000,
9
+ "last_impression_at": 1300000000,
10
+ "custom_data": {
11
+ "app_name": "Genesis",
12
+ "monthly_spend": 155.5,
13
+ "team_mates": 7
14
+ },
15
+ "social_profiles": [
16
+ {
17
+ "type": "twitter",
18
+ "url": "http://twitter.com/abc",
19
+ "username": "abc"
20
+ },
21
+ {
22
+ "type": "facebook",
23
+ "url": "http://facebook.com/vanity",
24
+ "username": "vanity",
25
+ "id": "13241141441141413"
26
+ }
27
+ ],
28
+ "location_data": {
29
+ "city_name": "Santiago",
30
+ "continent_code": "SA",
31
+ "country_name": "Chile",
32
+ "latitude": -33.44999999999999,
33
+ "longitude": -70.6667,
34
+ "postal_code": "",
35
+ "region_name": "12",
36
+ "timezone": "Chile/Continental",
37
+ "country_code": "CHL"
38
+ },
39
+ "session_count": 0,
40
+ "last_seen_ip": "127.0.0.1",
41
+ "last_seen_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
42
+ "unsubscribed_from_emails": false,
43
+ "avatar_url": "https://graph.facebook.com/13241141441141413/picture?width=24&height=24",
44
+ "company_ids": [
45
+
46
+ ]
47
+ },
48
+ {
49
+ "intercom_id": "528f27c330972d7836000070",
50
+ "email": "second.user@example.com",
51
+ "user_id": "123",
52
+ "name": "Second User",
53
+ "created_at": 1270000000,
54
+ "last_impression_at": 1300000000,
55
+ "custom_data": {
56
+ "app_name": "Genesis",
57
+ "monthly_spend": 155.5,
58
+ "team_mates": 7
59
+ },
60
+ "social_profiles": [
61
+ {
62
+ "type": "twitter",
63
+ "url": "http://twitter.com/abc",
64
+ "username": "abc"
65
+ },
66
+ {
67
+ "type": "facebook",
68
+ "url": "http://facebook.com/vanity",
69
+ "username": "vanity",
70
+ "id": "13241141441141413"
71
+ }
72
+ ],
73
+ "location_data": {
74
+ "city_name": "Santiago",
75
+ "continent_code": "SA",
76
+ "country_name": "Chile",
77
+ "latitude": -33.44999999999999,
78
+ "longitude": -70.6667,
79
+ "postal_code": "",
80
+ "region_name": "12",
81
+ "timezone": "Chile/Continental",
82
+ "country_code": "CHL"
83
+ },
84
+ "session_count": 0,
85
+ "last_seen_ip": "127.0.0.1",
86
+ "last_seen_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
87
+ "unsubscribed_from_emails": false,
88
+ "avatar_url": "https://graph.facebook.com/13241141441141413/picture?width=24&height=24",
89
+ "company_ids": [
90
+
91
+ ]
92
+ },
93
+ {
94
+ "intercom_id": "528f27c330972d7836000073",
95
+ "email": "third.user@example.com",
96
+ "user_id": "123",
97
+ "name": "Third User",
98
+ "created_at": 1270000000,
99
+ "last_impression_at": 1300000000,
100
+ "custom_data": {
101
+ "app_name": "Genesis",
102
+ "monthly_spend": 155.5,
103
+ "team_mates": 7
104
+ },
105
+ "social_profiles": [
106
+ {
107
+ "type": "twitter",
108
+ "url": "http://twitter.com/abc",
109
+ "username": "abc"
110
+ },
111
+ {
112
+ "type": "facebook",
113
+ "url": "http://facebook.com/vanity",
114
+ "username": "vanity",
115
+ "id": "13241141441141413"
116
+ }
117
+ ],
118
+ "location_data": {
119
+ "city_name": "Santiago",
120
+ "continent_code": "SA",
121
+ "country_name": "Chile",
122
+ "latitude": -33.44999999999999,
123
+ "longitude": -70.6667,
124
+ "postal_code": "",
125
+ "region_name": "12",
126
+ "timezone": "Chile/Continental",
127
+ "country_code": "CHL"
128
+ },
129
+ "session_count": 0,
130
+ "last_seen_ip": "127.0.0.1",
131
+ "last_seen_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
132
+ "unsubscribed_from_emails": false,
133
+ "avatar_url": "https://graph.facebook.com/13241141441141413/picture?width=24&height=24",
134
+ "company_ids": [
135
+
136
+ ]
137
+ }
138
+ ],
139
+ "total_count": 3,
140
+ "page": 1,
141
+ "next_page": null,
142
+ "previous_page": null,
143
+ "total_pages": 1
144
+ }
@@ -3,35 +3,46 @@ require 'fakeweb'
3
3
 
4
4
  describe "api.intercom.io dummy data requests" do
5
5
  before :each do
6
- Intercom.app_id = "dummy-app-id"
7
- Intercom.api_key = "dummy-secret-key"
8
- Intercom.endpoint = "https://api.intercom.io"
6
+ Intercom.app_id = "some-app-id"
7
+ Intercom.api_key = "some-secret-key"
8
+ Intercom.endpoint = "https://intercom.example.com"
9
+ FakeWeb.clean_registry
10
+ end
11
+
12
+ def fixture(name)
13
+ File.read(File.expand_path("../fixtures/#{name}.json", __FILE__))
9
14
  end
10
15
 
11
16
  it "should get all user" do
17
+ FakeWeb.register_uri(:get, %r|v1/users|, :body => fixture('v1-users'))
12
18
  Intercom::User.all.count.must_be :>, 0
13
19
  end
14
20
 
15
21
  it "should get a user" do
22
+ FakeWeb.register_uri(:get, %r(v1/users\?email=), :body => fixture('v1-user'))
16
23
  user = Intercom::User.find(:email => "somebody@example.com")
17
24
  user.name.must_equal "Somebody"
18
25
  end
19
26
 
20
27
  it "not found... " do
28
+ FakeWeb.register_uri(:get, %r(v1/users\?email=not-found), :status => [404, "Not Found"])
21
29
  proc { Intercom::User.find(:email => "not-found@example.com") }.must_raise Intercom::ResourceNotFound
22
30
  end
23
31
 
24
32
  it "server error" do
33
+ FakeWeb.register_uri(:get, %r(v1/users\?email=server-error), :status => [500, "Oh Noes"])
25
34
  proc { Intercom::User.find(:email => "server-error@example.com") }.must_raise Intercom::ServerError
26
35
  end
27
36
 
28
37
  it "authentication failure with bad api key" do
38
+ FakeWeb.register_uri(:get, %r(v1/users\?email=authentication-error), :status => [401, "Authentication Error"])
29
39
  Intercom.app_id = "bad-app-id"
30
40
  Intercom.api_key = "bad-secret-key"
31
- proc { Intercom::User.find(:email => "not-found@example.com") }.must_raise Intercom::AuthenticationError
41
+ proc { Intercom::User.find(:email => "authentication-error@example.com") }.must_raise Intercom::AuthenticationError
32
42
  end
33
43
 
34
44
  it "should find_all messages for a user" do
45
+ FakeWeb.register_uri(:get, %r(v1/users/message_threads\?email=somebody), :body => fixture('v1-users-message_threads'))
35
46
  message_thread = Intercom::MessageThread.find_all(:email => "somebody@example.com").first
36
47
  %w(thread_id read messages created_at updated_at created_by_user).each do |expected|
37
48
  message_thread.send(expected).wont_be_nil
@@ -39,23 +50,30 @@ describe "api.intercom.io dummy data requests" do
39
50
  end
40
51
 
41
52
  it "should mark message_thread as read" do
53
+ FakeWeb.register_uri(:get, %r(v1/users/message_threads\?email=somebody), :body => fixture('v1-users-message_threads'))
54
+ FakeWeb.register_uri(:put, %r(v1/users/message_threads), :body => fixture('v1-users-message_thread'))
42
55
  message_thread = Intercom::MessageThread.find_all(:email => "somebody@example.com").first
43
56
  message_thread.mark_as_read!
44
57
  end
45
58
 
46
59
  it "should create some impression" do
60
+ FakeWeb.register_uri(:post, %r(v1/users/impressions), :body => fixture('v1-users-impression'))
47
61
  impression = Intercom::Impression.create(:email => 'somebody@example.com')
48
62
  impression.unread_messages.must_be :>, 0
49
63
  impression.email.must_equal 'somebody@example.com'
50
64
  end
51
65
 
52
66
  it "should create some notes" do
67
+ FakeWeb.register_uri(:post, %r(v1/users/notes), :body => fixture('v1-users-note'))
53
68
  note = Intercom::Note.create(:body => "This is a note", :email => "somebody@example.com")
54
69
  note.html.must_equal "<p>This is a note</p>"
55
70
  note.user.email.must_equal "somebody@example.com"
56
71
  end
57
72
 
73
+
58
74
  it "should failover to good endpoint when first one is un-reachable" do
75
+ FakeWeb.allow_net_connect = %r(127.0.0.7)
76
+ FakeWeb.register_uri(:get, %r(api.intercom.io/v1/users), :body => fixture('v1-user'))
59
77
  Intercom.endpoints = unshuffleable_array(["http://127.0.0.7", "https://api.intercom.io"])
60
78
  user = Intercom::User.find(:email => "somebody@example.com")
61
79
  user.name.must_equal "Somebody"
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: 0.1.17
4
+ version: 0.1.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben McRedmond
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-10-18 00:00:00.000000000 Z
15
+ date: 2014-01-21 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: minitest
@@ -70,6 +70,20 @@ dependencies:
70
70
  - - ~>
71
71
  - !ruby/object:Gem::Version
72
72
  version: '1.3'
73
+ - !ruby/object:Gem::Dependency
74
+ name: json
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ type: :runtime
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
73
87
  description: 'Intercom (https://www.intercom.io) is a customer relationship management
74
88
  and messaging tool for web app owners. This library wraps the api provided by Intercom.
75
89
  See http://docs.intercom.io/api for more details. '
@@ -107,6 +121,12 @@ files:
107
121
  - lib/intercom/user_collection_proxy.rb
108
122
  - lib/intercom/user_resource.rb
109
123
  - lib/intercom/version.rb
124
+ - spec/integration/fixtures/v1-user.json
125
+ - spec/integration/fixtures/v1-users-impression.json
126
+ - spec/integration/fixtures/v1-users-message_thread.json
127
+ - spec/integration/fixtures/v1-users-message_threads.json
128
+ - spec/integration/fixtures/v1-users-note.json
129
+ - spec/integration/fixtures/v1-users.json
110
130
  - spec/integration/intercom_api_integration_spec.rb
111
131
  - spec/spec_helper.rb
112
132
  - spec/unit/intercom/flat_store_spec.rb
@@ -143,6 +163,12 @@ signing_key:
143
163
  specification_version: 4
144
164
  summary: Ruby bindings for the Intercom API
145
165
  test_files:
166
+ - spec/integration/fixtures/v1-user.json
167
+ - spec/integration/fixtures/v1-users-impression.json
168
+ - spec/integration/fixtures/v1-users-message_thread.json
169
+ - spec/integration/fixtures/v1-users-message_threads.json
170
+ - spec/integration/fixtures/v1-users-note.json
171
+ - spec/integration/fixtures/v1-users.json
146
172
  - spec/integration/intercom_api_integration_spec.rb
147
173
  - spec/spec_helper.rb
148
174
  - spec/unit/intercom/flat_store_spec.rb