drip-ruby 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 399ac5f6deb63991f5d809be4cfb1ff91814122c
4
- data.tar.gz: 2e0edbc7c6f951004b3ab07b3b7549518e8eb2ec
3
+ metadata.gz: 8cda94b5bd281db2629d650bd0afad2658f932e1
4
+ data.tar.gz: 44ea0b824241015d9cf2304d47d1419fd4e11cc5
5
5
  SHA512:
6
- metadata.gz: 4d5835097d80f4988c1134090077b06e6b15193733455d4fcef4faeb1898d50a0d78b845535d29eb687f5ab135a0819e13ed26025de1f03acfcd306d850065a8
7
- data.tar.gz: f08e9b1009bed397d34a7cf88629639d76ba344ca260857baded67fa09920afc1a95aaa20bc6b722f040c8f9cdf8cba985d6790c9bf70a4d4e159e8e42a87e1b
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
- To begin making requests, spin up a new Drip client:
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 = "YOUR_API_TOKEN"
28
+ c.api_key = "YOUR_API_KEY"
26
29
  c.account_id = "YOUR_ACCOUNT_ID"
27
30
  end
28
31
  ```
29
32
 
30
- You can find your API key [here](https://www.getdrip.com/settings/general)
31
- and your account ID [here](https://www.getdrip.com/settings/site).
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:
@@ -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
@@ -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
- f.basic_auth api_key, ""
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
@@ -1,3 +1,3 @@
1
1
  module Drip
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -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.1
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-18 00:00:00.000000000 Z
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: '0'
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: '0'
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: '0'
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: '0'
110
+ version: '1.8'
111
111
  description: A simple wrapper for the Drip API
112
112
  email:
113
113
  - derrickreimer@gmail.com