drip-ruby 0.0.1 → 0.0.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 +4 -4
- data/README.md +15 -5
- data/drip-ruby.gemspec +5 -5
- data/lib/drip/client.rb +8 -2
- data/lib/drip/version.rb +1 -1
- data/test/drip/client_test.rb +37 -0
- metadata +22 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8cda94b5bd281db2629d650bd0afad2658f932e1
|
4
|
+
data.tar.gz: 44ea0b824241015d9cf2304d47d1419fd4e11cc5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12beec3f311762c42ad50cca8d988502aade1f0f417f7d9bf342fcbbc923a3d12dfa77461916c706f47d51089fcaf6d84b0705cae9b2fc7e537d944a3ec7f0b3
|
7
|
+
data.tar.gz: b3bf8862794416b6e0bf594118440e63eb17efdc10529f34e66713ac1436ddf927db829c0f6c2fed89ebb1b3533cf1601592a015f8e5469e4a3937c071f0488a
|
data/README.md
CHANGED
@@ -6,7 +6,7 @@ A Ruby toolkit for the [Drip](https://www.getdrip.com/) API.
|
|
6
6
|
|
7
7
|
Add this line to your application's Gemfile:
|
8
8
|
|
9
|
-
gem 'drip-ruby'
|
9
|
+
gem 'drip-ruby', :require => 'drip'
|
10
10
|
|
11
11
|
And then execute:
|
12
12
|
|
@@ -18,17 +18,27 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
|
21
|
+
Your account ID can be found [here](https://www.getdrip.com/settings/site).
|
22
|
+
|
23
|
+
For private integrations, you may use your personal API key (found
|
24
|
+
[here](https://www.getdrip.com/user/edit)) via the `api_key` setting:
|
22
25
|
|
23
26
|
```ruby
|
24
27
|
client = Drip::Client.new do |c|
|
25
|
-
c.api_key = "
|
28
|
+
c.api_key = "YOUR_API_KEY"
|
26
29
|
c.account_id = "YOUR_ACCOUNT_ID"
|
27
30
|
end
|
28
31
|
```
|
29
32
|
|
30
|
-
|
31
|
-
|
33
|
+
For public integrations, pass in the user's OAuth token via the `access_token`
|
34
|
+
setting:
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
client = Drip::Client.new do |c|
|
38
|
+
c.access_token = "YOUR_ACCESS_TOKEN"
|
39
|
+
c.account_id = "YOUR_ACCOUNT_ID"
|
40
|
+
end
|
41
|
+
```
|
32
42
|
|
33
43
|
Since the Drip client is a flat API client, most API actions are available
|
34
44
|
as methods on the client object. The following methods are currently available:
|
data/drip-ruby.gemspec
CHANGED
@@ -19,11 +19,11 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.6"
|
22
|
-
spec.add_development_dependency "rake"
|
22
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
23
23
|
spec.add_development_dependency "shoulda-context", "~> 1.0"
|
24
|
-
spec.add_development_dependency "mocha"
|
24
|
+
spec.add_development_dependency "mocha", "~> 1.1"
|
25
25
|
|
26
|
-
spec.add_runtime_dependency "faraday"
|
27
|
-
spec.add_runtime_dependency "faraday_middleware"
|
28
|
-
spec.add_runtime_dependency "json"
|
26
|
+
spec.add_runtime_dependency "faraday", "~> 0.9"
|
27
|
+
spec.add_runtime_dependency "faraday_middleware", "~> 0.9"
|
28
|
+
spec.add_runtime_dependency "json", "~> 1.8"
|
29
29
|
end
|
data/lib/drip/client.rb
CHANGED
@@ -12,7 +12,7 @@ module Drip
|
|
12
12
|
include Tags
|
13
13
|
include Events
|
14
14
|
|
15
|
-
attr_accessor :api_key, :account_id
|
15
|
+
attr_accessor :access_token, :api_key, :account_id
|
16
16
|
|
17
17
|
def initialize
|
18
18
|
yield(self) if block_given?
|
@@ -74,7 +74,13 @@ module Drip
|
|
74
74
|
f.headers['User-Agent'] = "Drip Ruby v#{Drip::VERSION}"
|
75
75
|
f.headers['Content-Type'] = content_type
|
76
76
|
f.headers['Accept'] = "*/*"
|
77
|
-
|
77
|
+
|
78
|
+
if access_token
|
79
|
+
f.headers['Authorization'] = "Bearer #{access_token}"
|
80
|
+
else
|
81
|
+
f.basic_auth api_key, ""
|
82
|
+
end
|
83
|
+
|
78
84
|
f.response :json, :content_type => /\bjson$/
|
79
85
|
end
|
80
86
|
end
|
data/lib/drip/version.rb
CHANGED
data/test/drip/client_test.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../test_helper.rb'
|
2
|
+
require "base64"
|
2
3
|
|
3
4
|
class Drip::ClientTest < Drip::TestCase
|
4
5
|
context "initialization" do
|
@@ -10,6 +11,14 @@ class Drip::ClientTest < Drip::TestCase
|
|
10
11
|
assert_equal "aaaa", client.api_key
|
11
12
|
end
|
12
13
|
|
14
|
+
should "accept access token" do
|
15
|
+
client = Drip::Client.new do |config|
|
16
|
+
config.access_token = "aaaa"
|
17
|
+
end
|
18
|
+
|
19
|
+
assert_equal "aaaa", client.access_token
|
20
|
+
end
|
21
|
+
|
13
22
|
should "accept default account id" do
|
14
23
|
client = Drip::Client.new do |config|
|
15
24
|
config.account_id = "1234567"
|
@@ -30,4 +39,32 @@ class Drip::ClientTest < Drip::TestCase
|
|
30
39
|
assert_equal({ @key => [@data] }, @client.generate_resource(@key, @data))
|
31
40
|
end
|
32
41
|
end
|
42
|
+
|
43
|
+
context "given a personal api key" do
|
44
|
+
setup do
|
45
|
+
@key = "aaaa"
|
46
|
+
@client = Drip::Client.new do |config|
|
47
|
+
config.api_key = @key
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
should "use Basic authentication" do
|
52
|
+
header = "Basic #{Base64.encode64(@key + ":")}".strip
|
53
|
+
assert_equal header, @client.connection.headers["Authorization"]
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context "given a OAuth access token" do
|
58
|
+
setup do
|
59
|
+
@key = "aaaa"
|
60
|
+
@client = Drip::Client.new do |config|
|
61
|
+
config.access_token = @key
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
should "use Bearer token authentication" do
|
66
|
+
header = "Bearer #{@key}"
|
67
|
+
assert_equal header, @client.connection.headers["Authorization"]
|
68
|
+
end
|
69
|
+
end
|
33
70
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: drip-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Derrick Reimer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
40
|
+
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: shoulda-context
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,58 +56,58 @@ dependencies:
|
|
56
56
|
name: mocha
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '1.1'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '1.1'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: faraday
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
75
|
+
version: '0.9'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
82
|
+
version: '0.9'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: faraday_middleware
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ~>
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
89
|
+
version: '0.9'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
96
|
+
version: '0.9'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: json
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ~>
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '1.8'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '1.8'
|
111
111
|
description: A simple wrapper for the Drip API
|
112
112
|
email:
|
113
113
|
- derrickreimer@gmail.com
|