taskrabbit 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.
- data/CHANGELOG.md +4 -0
- data/README.md +15 -9
- data/lib/taskrabbit/api.rb +1 -1
- data/lib/taskrabbit/config.rb +10 -7
- data/lib/taskrabbit/version.rb +1 -1
- data/spec/spec_helper.rb +3 -3
- data/spec/taskrabbit/api_spec.rb +3 -3
- data/spec/taskrabbit/taskrabbit_spec.rb +3 -3
- metadata +5 -4
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
@@ -4,9 +4,11 @@ Ruby wrapper for TaskRabbit API.
|
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
|
-
|
7
|
+
gem install taskrabbit
|
8
8
|
|
9
|
-
|
9
|
+
Or in a Gemfile:
|
10
|
+
|
11
|
+
gem 'taskrabbit'
|
10
12
|
|
11
13
|
|
12
14
|
## Usage Example
|
@@ -16,13 +18,17 @@ I have not published the gem yet so you will either have to vendor it or use a G
|
|
16
18
|
In an initializer file.
|
17
19
|
|
18
20
|
Taskrabbit.configure do |config|
|
19
|
-
config.
|
21
|
+
config.api_secret = 'your-client-secret'
|
22
|
+
config.api_key = 'your-client-key'
|
23
|
+
config.base_uri = 'https://sandbox.com'
|
24
|
+
config.endpoint = 'api/v2'
|
20
25
|
end
|
21
26
|
|
22
27
|
Available configuration options:
|
23
28
|
|
24
|
-
*
|
25
|
-
*
|
29
|
+
* api_secret: client secret that has been given to you by TaskRabbit
|
30
|
+
* api_key: client key that has been given by TaskRabbit
|
31
|
+
* base_uri: uri of the server (not mandatory, default to https://www.taskrabbit.com)
|
26
32
|
* endpoint: endpoint (not mandatory, default to api/v1)
|
27
33
|
|
28
34
|
## Task
|
@@ -31,7 +37,7 @@ Available configuration options:
|
|
31
37
|
|
32
38
|
tr = Taskrabbit::Api.new
|
33
39
|
|
34
|
-
or with a user token
|
40
|
+
or with a user token returned by TaskRabbit.
|
35
41
|
|
36
42
|
tr = Taskrabbit::Api.new(user_token)
|
37
43
|
|
@@ -80,7 +86,7 @@ or
|
|
80
86
|
|
81
87
|
### Error for tasks creation or update
|
82
88
|
|
83
|
-
tr = Taskrabbit::Api.new(
|
89
|
+
tr = Taskrabbit::Api.new(user_token)
|
84
90
|
task = tr.tasks.new
|
85
91
|
unless task.save
|
86
92
|
task.error # => "Task title can't be blank, \nAmount you are willing to pay is not a number"
|
@@ -92,7 +98,7 @@ or
|
|
92
98
|
|
93
99
|
In some case TaskRabbit will return an url which should be used for further operations (i.e: when the user doesn't have a credit card).
|
94
100
|
|
95
|
-
tr = Taskrabbit::Api.new(
|
101
|
+
tr = Taskrabbit::Api.new(user_token)
|
96
102
|
task = tr.tasks.new
|
97
103
|
unless task.save
|
98
104
|
if task.redirect?
|
@@ -102,7 +108,7 @@ In some case TaskRabbit will return an url which should be used for further oper
|
|
102
108
|
|
103
109
|
## User account
|
104
110
|
|
105
|
-
tr = Taskrabbit::Api.new(
|
111
|
+
tr = Taskrabbit::Api.new(user_token)
|
106
112
|
tr.account # => Taskrabbit::User object
|
107
113
|
|
108
114
|
tr.account.tasks # => List of tasks
|
data/lib/taskrabbit/api.rb
CHANGED
@@ -35,7 +35,7 @@ module Taskrabbit
|
|
35
35
|
:extra_body => options,
|
36
36
|
:extra_request => {
|
37
37
|
:headers => {
|
38
|
-
'X-Client-Application' =>
|
38
|
+
'X-Client-Application' => api_secret.to_s,
|
39
39
|
'Authorization' => "OAuth #{user_token.to_s}"
|
40
40
|
},
|
41
41
|
:endpoint => endpoint.to_s,
|
data/lib/taskrabbit/config.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
module Taskrabbit
|
2
2
|
module Config
|
3
|
-
DEFAULT_BASE_URI
|
4
|
-
DEFAULT_END_POINT
|
5
|
-
|
3
|
+
DEFAULT_BASE_URI = 'http://www.taskrabbit.com'
|
4
|
+
DEFAULT_END_POINT = 'api/v1'
|
5
|
+
DEFAULT_API_SECRET = nil
|
6
|
+
DEFAULT_API_KEY = nil
|
6
7
|
|
7
8
|
VALID_OPTIONS_KEYS = [
|
8
9
|
:base_uri,
|
9
|
-
:
|
10
|
+
:api_key,
|
11
|
+
:api_secret,
|
10
12
|
:endpoint
|
11
13
|
]
|
12
14
|
|
@@ -33,9 +35,10 @@ module Taskrabbit
|
|
33
35
|
# Reset all configuration options to defaults
|
34
36
|
def reset
|
35
37
|
self.tap do |c|
|
36
|
-
c.base_uri
|
37
|
-
c.endpoint
|
38
|
-
c.
|
38
|
+
c.base_uri = DEFAULT_BASE_URI
|
39
|
+
c.endpoint = DEFAULT_END_POINT
|
40
|
+
c.api_secret = DEFAULT_API_SECRET
|
41
|
+
c.api_key = DEFAULT_API_KEY
|
39
42
|
end
|
40
43
|
end
|
41
44
|
|
data/lib/taskrabbit/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -17,9 +17,9 @@ TR_USERS = {
|
|
17
17
|
module Taskrabbit
|
18
18
|
module Config
|
19
19
|
remove_const(:DEFAULT_BASE_URI)
|
20
|
-
remove_const(:
|
21
|
-
DEFAULT_BASE_URI
|
22
|
-
|
20
|
+
remove_const(:DEFAULT_API_SECRET)
|
21
|
+
DEFAULT_BASE_URI = 'http://localhost:3000'
|
22
|
+
DEFAULT_API_SECRET = 'euqmQpzV04GmN1dJTY639PdI7eiSjCjI3lKTkPWn'
|
23
23
|
end
|
24
24
|
end
|
25
25
|
Taskrabbit.reset
|
data/spec/taskrabbit/api_spec.rb
CHANGED
@@ -16,13 +16,13 @@ describe Taskrabbit::Api do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
it "should return an error if the client is not set" do
|
19
|
-
secret = Taskrabbit.
|
20
|
-
Taskrabbit.
|
19
|
+
secret = Taskrabbit.api_secret
|
20
|
+
Taskrabbit.api_secret = nil
|
21
21
|
tr = Taskrabbit::Api.new
|
22
22
|
VCR.use_cassette('tasks/without_client', :record => :new_episodes) do
|
23
23
|
expect { tr.tasks.all }.to raise_error(Taskrabbit::Error, 'Missing valid client application')
|
24
24
|
end
|
25
|
-
Taskrabbit.
|
25
|
+
Taskrabbit.api_secret = secret
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should return an error if the client is not set" do
|
@@ -23,9 +23,9 @@ describe Taskrabbit do
|
|
23
23
|
end
|
24
24
|
|
25
25
|
describe "api defaults" do
|
26
|
-
it "should be able to set the
|
27
|
-
Taskrabbit.
|
28
|
-
Taskrabbit.
|
26
|
+
it "should be able to set the api_secret" do
|
27
|
+
Taskrabbit.api_secret = 'asecret'
|
28
|
+
Taskrabbit.api_secret.should == 'asecret'
|
29
29
|
end
|
30
30
|
end
|
31
31
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: taskrabbit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jean-Richard Lai
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-06-
|
18
|
+
date: 2012-06-21 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -62,6 +62,7 @@ extra_rdoc_files: []
|
|
62
62
|
files:
|
63
63
|
- .gitignore
|
64
64
|
- .rspec
|
65
|
+
- CHANGELOG.md
|
65
66
|
- Gemfile
|
66
67
|
- Guardfile
|
67
68
|
- README.md
|