intercom 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -52,6 +52,10 @@ module Intercom
52
52
  Intercom::Request.post(url_for_path(path), payload_hash).execute
53
53
  end
54
54
 
55
+ def self.delete(path, payload_hash)
56
+ Intercom::Request.delete(url_for_path(path), payload_hash).execute
57
+ end
58
+
55
59
  def self.put(path, payload_hash)
56
60
  Intercom::Request.put(url_for_path(path), payload_hash).execute
57
61
  end
@@ -28,6 +28,11 @@ module Intercom
28
28
  new(uri, method_with_body(Net::HTTP::Post, uri, form_data))
29
29
  end
30
30
 
31
+ def self.delete(url, params)
32
+ uri = URI.parse(url)
33
+ new(uri, Net::HTTP::Delete.new(append_query_string_to_url(uri.path, params), default_headers))
34
+ end
35
+
31
36
  def self.put(url, form_data)
32
37
  uri = URI.parse(url)
33
38
  new(uri, method_with_body(Net::HTTP::Put, uri, form_data))
@@ -82,6 +82,19 @@ module Intercom
82
82
  UserCollectionProxy.new
83
83
  end
84
84
 
85
+ # Deletes a user record on your application.
86
+ #
87
+ # Calls DELETE https://api.intercom.io/v1/users
88
+ #
89
+ # returns Intercom::User object representing the user just before deletion.
90
+ #
91
+ # This operation is not idempotent.
92
+ # @return [User]
93
+ def self.delete(params)
94
+ response = Intercom.delete("users", params)
95
+ User.from_api(response)
96
+ end
97
+
85
98
  # instance method alternative to #create
86
99
  # @return [User]
87
100
  def save
@@ -1,3 +1,3 @@
1
1
  module Intercom #:nodoc:
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -5,8 +5,6 @@ describe "api.intercom.io dummy data requests" do
5
5
  before :each do
6
6
  Intercom.app_id = "dummy-app-id"
7
7
  Intercom.api_key = "dummy-secret-key"
8
- Intercom.protocol = "http"
9
- Intercom.hostname = "intercom.dev"
10
8
  end
11
9
 
12
10
  it "should get all user" do
@@ -97,6 +97,11 @@ describe "Intercom::User" do
97
97
  user.save
98
98
  end
99
99
 
100
+ it "deletes a user" do
101
+ Intercom.expects(:delete).with("users", {"email" => "jo@example.com", "user_id" => "i-1224242"}).returns({"email" => "jo@example.com", "user_id" => "i-1224242"})
102
+ Intercom::User.delete("email" => "jo@example.com", "user_id" => "i-1224242")
103
+ end
104
+
100
105
  it "can use User.create for convenience" do
101
106
  Intercom.expects(:post).with("users", {"email" => "jo@example.com", "user_id" => "i-1224242"}).returns({"email" => "jo@example.com", "user_id" => "i-1224242"})
102
107
  user = Intercom::User.create("email" => "jo@example.com", :user_id => "i-1224242")
@@ -47,9 +47,6 @@ describe Intercom do
47
47
  it "checks for email or user id" do
48
48
  proc { Intercom.check_required_params("else") }.must_raise ArgumentError, "Expected params Hash, got String"
49
49
  proc { Intercom.check_required_params(:something => "else") }.must_raise ArgumentError, "Either email or user_id must be specified"
50
- proc { Intercom.get("messages", :something => "else") }.must_raise ArgumentError, "Either email or user_id must be specified"
51
- proc { Intercom.put("messages", :something => "else") }.must_raise ArgumentError, "Either email or user_id must be specified"
52
- proc { Intercom.post("messages", :something => "else") }.must_raise ArgumentError, "Either email or user_id must be specified"
53
50
  Intercom.check_required_params(:email => "bob@example.com", :something => "else")
54
51
  Intercom.check_required_params("email" => "bob@example.com", :something => "else")
55
52
  Intercom.check_required_params(:user_id => "123")
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.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-06-27 00:00:00.000000000 Z
14
+ date: 2012-11-13 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: minitest