producteev 0.0.3 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/producteev/activities.rb +6 -7
- data/lib/producteev/api.rb +15 -13
- data/lib/producteev/client.rb +10 -14
- data/lib/producteev/dashboards.rb +18 -19
- data/lib/producteev/labels.rb +8 -9
- data/lib/producteev/tasks.rb +28 -29
- data/lib/producteev/version.rb +2 -2
- data/lib/producteev.rb +6 -1
- metadata +5 -5
@@ -1,24 +1,23 @@
|
|
1
1
|
module Producteev
|
2
2
|
class Activities
|
3
|
-
|
4
|
-
|
5
|
-
@api = api
|
3
|
+
def initialize(token)
|
4
|
+
@token = token
|
6
5
|
end
|
7
6
|
|
8
7
|
def show_activities(options = {})
|
9
|
-
return
|
8
|
+
return Producteev::Api.instance.send_request("/activities/show_activities.json",options,@token)
|
10
9
|
end
|
11
10
|
|
12
11
|
def show_notifications(options = {})
|
13
|
-
return
|
12
|
+
return Producteev::Api.instance.send_request("/activities/show_notifications.json",options,@token)
|
14
13
|
end
|
15
14
|
|
16
15
|
def notifications_set_read(options = {})
|
17
|
-
return
|
16
|
+
return Producteev::Api.instance.send_request("/activities/notifications_set_read.json",options,@token)
|
18
17
|
end
|
19
18
|
|
20
19
|
def set_read(options = {})
|
21
|
-
return
|
20
|
+
return Producteev::Api.instance.send_request("/activities/set_read.json",options,@token)
|
22
21
|
end
|
23
22
|
end
|
24
23
|
end
|
data/lib/producteev/api.rb
CHANGED
@@ -3,17 +3,19 @@ module Producteev
|
|
3
3
|
include HTTParty
|
4
4
|
base_uri 'https://api.producteev.com/'
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
@debug = debug
|
6
|
+
@@instance = Api.new
|
7
|
+
|
8
|
+
def self.instance
|
9
|
+
return @@instance
|
11
10
|
end
|
12
11
|
|
13
|
-
def
|
14
|
-
|
15
|
-
|
12
|
+
def api_set(apikey, secret, debug)
|
13
|
+
@@apikey = apikey
|
14
|
+
@@secret = secret
|
15
|
+
@debug = debug
|
16
16
|
end
|
17
|
+
|
18
|
+
private_class_method :new
|
17
19
|
|
18
20
|
def generate_signature(parameters)
|
19
21
|
signature = ""
|
@@ -26,17 +28,17 @@ module Producteev
|
|
26
28
|
signature = "#{signature}#{key}#{value}"
|
27
29
|
end
|
28
30
|
}
|
29
|
-
signature = signature
|
31
|
+
signature = "#{signature}#{@@secret}"
|
30
32
|
signature = Digest::MD5.hexdigest(signature)
|
31
33
|
return signature
|
32
34
|
end
|
33
35
|
|
34
36
|
|
35
|
-
def send_request(path, options={})
|
36
|
-
options.merge!({:api_key =>
|
37
|
+
def send_request(path, options={},token = nil)
|
38
|
+
options.merge!({:api_key => @@apikey})
|
37
39
|
|
38
|
-
if
|
39
|
-
options.merge!({:token =>
|
40
|
+
if token != nil
|
41
|
+
options.merge!({:token => token})
|
40
42
|
end
|
41
43
|
options.merge!({:api_sig => generate_signature(options)})
|
42
44
|
|
data/lib/producteev/client.rb
CHANGED
@@ -1,37 +1,33 @@
|
|
1
1
|
module Producteev
|
2
2
|
class Client
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
@
|
7
|
-
end
|
8
|
-
|
9
|
-
def login(email,password)
|
10
|
-
@api.login(email,password)
|
3
|
+
|
4
|
+
def initialize(email,password)
|
5
|
+
param = {:email => email, :password => password}
|
6
|
+
@token = Producteev::Api.instance.send_request("/users/login.json",param)['login']['token']
|
11
7
|
end
|
12
8
|
|
13
9
|
def tasks()
|
14
|
-
return Producteev::Tasks.new(@
|
10
|
+
return Producteev::Tasks.new(@token)
|
15
11
|
end
|
16
12
|
|
17
13
|
def labels()
|
18
|
-
return Producteev::Labels.new(@
|
14
|
+
return Producteev::Labels.new(@token)
|
19
15
|
end
|
20
16
|
|
21
17
|
def time()
|
22
|
-
|
18
|
+
return Producteev::Api.instance.send_request("/time.json",{},@token)
|
23
19
|
end
|
24
20
|
|
25
21
|
def activities()
|
26
|
-
return Producteev::Activities.new(@
|
22
|
+
return Producteev::Activities.new(@token)
|
27
23
|
end
|
28
24
|
|
29
25
|
def dashboards()
|
30
|
-
return Producteev::Dashboards.new(@
|
26
|
+
return Producteev::Dashboards.new(@token)
|
31
27
|
end
|
32
28
|
|
33
29
|
def users()
|
34
|
-
return Producteev::Users.new(@
|
30
|
+
return Producteev::Users.new(@token)
|
35
31
|
end
|
36
32
|
|
37
33
|
end
|
@@ -1,72 +1,71 @@
|
|
1
1
|
module Producteev
|
2
2
|
class Dashboards
|
3
|
-
|
4
|
-
|
5
|
-
@api = api
|
3
|
+
def initialize(token)
|
4
|
+
@token = token
|
6
5
|
end
|
7
6
|
|
8
7
|
def create(options = {})
|
9
|
-
return
|
8
|
+
return Producteev::Api.instance.send_request("/dashboards/create.json",options,@token)
|
10
9
|
end
|
11
10
|
|
12
11
|
def view(options = {})
|
13
|
-
return
|
12
|
+
return Producteev::Api.instance.send_request("/dashboards/view.json",options,@token)
|
14
13
|
end
|
15
14
|
|
16
15
|
def show_list(options = {})
|
17
|
-
return
|
16
|
+
return Producteev::Api.instance.send_request("/dashboards/show_list.json",options,@token)
|
18
17
|
end
|
19
18
|
|
20
19
|
def access(options = {})
|
21
|
-
return
|
20
|
+
return Producteev::Api.instance.send_request("/dashboards/access.json",options,@token)
|
22
21
|
end
|
23
22
|
|
24
23
|
def leave(options = {})
|
25
|
-
return
|
24
|
+
return Producteev::Api.instance.send_request("/dashboards/leave.json",options,@token)
|
26
25
|
end
|
27
26
|
|
28
27
|
def set_title(options = {})
|
29
|
-
return
|
28
|
+
return Producteev::Api.instance.send_request("/dashboards/set_title.json",options,@token)
|
30
29
|
end
|
31
30
|
|
32
31
|
def set_smart_labels(options = {})
|
33
|
-
return
|
32
|
+
return Producteev::Api.instance.send_request("/dashboards/set_smart_labels.json",options,@token)
|
34
33
|
end
|
35
34
|
|
36
35
|
def delete(options = {})
|
37
|
-
return
|
36
|
+
return Producteev::Api.instance.send_request("/dashboards/delete.json",options,@token)
|
38
37
|
end
|
39
38
|
|
40
39
|
def tasks(options = {})
|
41
|
-
return
|
40
|
+
return Producteev::Api.instance.send_request("/dashboards/tasks.json",options,@token)
|
42
41
|
end
|
43
42
|
|
44
43
|
def confirm(options = {})
|
45
|
-
return
|
44
|
+
return Producteev::Api.instance.send_request("/dashboards/confirm.json",options,@token)
|
46
45
|
end
|
47
46
|
|
48
47
|
def refuse(options = {})
|
49
|
-
return
|
48
|
+
return Producteev::Api.instance.send_request("/dashboards/refuse.json",options,@token)
|
50
49
|
end
|
51
50
|
|
52
51
|
def invite_user_by_id(options = {})
|
53
|
-
return
|
52
|
+
return Producteev::Api.instance.send_request("/dashboards/invite_user_by_id.json",options,@token)
|
54
53
|
end
|
55
54
|
|
56
55
|
def invite_user_by_email(options = {})
|
57
|
-
return
|
56
|
+
return Producteev::Api.instance.send_request("/dashboards/invite_user_by_email.json",options,@token)
|
58
57
|
end
|
59
58
|
|
60
59
|
def need_upgrade_list(options = {})
|
61
|
-
return
|
60
|
+
return Producteev::Api.instance.send_request("/dashboards/need_upgrade_list.json",options,@token)
|
62
61
|
end
|
63
62
|
|
64
63
|
def needs_upgrade(options = {})
|
65
|
-
return
|
64
|
+
return Producteev::Api.instance.send_request("/dashboards/needs_upgrade.json",options,@token)
|
66
65
|
end
|
67
66
|
|
68
67
|
def reorder(options = {})
|
69
|
-
return
|
68
|
+
return Producteev::Api.instance.send_request("/dashboards/reorder.json",options,@token)
|
70
69
|
end
|
71
70
|
|
72
71
|
end
|
data/lib/producteev/labels.rb
CHANGED
@@ -1,32 +1,31 @@
|
|
1
1
|
module Producteev
|
2
2
|
class Labels
|
3
|
-
|
4
|
-
|
5
|
-
@api = api
|
3
|
+
def initialize(token)
|
4
|
+
@token = token
|
6
5
|
end
|
7
6
|
|
8
7
|
def create(options = {})
|
9
|
-
return
|
8
|
+
return Producteev::Api.instance.send_request("/labels/create.json",options,@token)
|
10
9
|
end
|
11
10
|
|
12
11
|
def delete(options = {})
|
13
|
-
return
|
12
|
+
return Producteev::Api.instance.send_request("/labels/delete.json",options,@token)
|
14
13
|
end
|
15
14
|
|
16
15
|
def view(options = {})
|
17
|
-
return
|
16
|
+
return Producteev::Api.instance.send_request("/labels/view.json",options,@token)
|
18
17
|
end
|
19
18
|
|
20
19
|
def show_list(options = {})
|
21
|
-
return
|
20
|
+
return Producteev::Api.instance.send_request("/labels/show_list.json",options,@token)
|
22
21
|
end
|
23
22
|
|
24
23
|
def tasks(options = {})
|
25
|
-
return
|
24
|
+
return Producteev::Api.instance.send_request("/labels/tasks.json",options,@token)
|
26
25
|
end
|
27
26
|
|
28
27
|
def set_title(options = {})
|
29
|
-
return
|
28
|
+
return Producteev::Api.instance.send_request("/labels/set_title.json",options,@token)
|
30
29
|
end
|
31
30
|
end
|
32
31
|
end
|
data/lib/producteev/tasks.rb
CHANGED
@@ -1,112 +1,111 @@
|
|
1
1
|
module Producteev
|
2
2
|
class Tasks
|
3
|
-
|
4
|
-
|
5
|
-
@api = api
|
3
|
+
def initialize(token)
|
4
|
+
@token = token
|
6
5
|
end
|
7
6
|
|
8
7
|
def create(options = {})
|
9
|
-
return
|
8
|
+
return Producteev::Api.instance.send_request("/tasks/create.json", options,@token)
|
10
9
|
end
|
11
10
|
|
12
11
|
def delete(options = {})
|
13
|
-
return
|
12
|
+
return Producteev::Api.instance.send_request("/tasks/delete.json",options,@token)
|
14
13
|
end
|
15
14
|
|
16
15
|
def view(options = {})
|
17
|
-
return
|
16
|
+
return Producteev::Api.instance.send_request("/tasks/view.json",options,@token)
|
18
17
|
end
|
19
18
|
|
20
19
|
def show_list(options = {})
|
21
|
-
return
|
20
|
+
return Producteev::Api.instance.send_request("/tasks/show_list.json",options,@token)
|
22
21
|
end
|
23
22
|
|
24
23
|
def my_tasks(options = {})
|
25
|
-
return
|
24
|
+
return Producteev::Api.instance.send_request("/tasks/show_list.json",options,@token)
|
26
25
|
end
|
27
26
|
|
28
27
|
def my_tasks(options = {})
|
29
|
-
return
|
28
|
+
return Producteev::Api.instance.send_request("/tasks/archived.json",options,@token)
|
30
29
|
end
|
31
30
|
|
32
31
|
def my_team_tasks(options = {})
|
33
|
-
return
|
32
|
+
return Producteev::Api.instance.send_request("/tasks/my_team_tasks.json",options,@token)
|
34
33
|
end
|
35
34
|
|
36
35
|
def set_title(options = {})
|
37
|
-
return
|
36
|
+
return Producteev::Api.instance.send_request("/tasks/set_title.json",options,@token)
|
38
37
|
end
|
39
38
|
|
40
39
|
def set_status(options = {})
|
41
|
-
return
|
40
|
+
return Producteev::Api.instance.send_request("/tasks/set_status.json",options,@token)
|
42
41
|
end
|
43
42
|
|
44
43
|
def set_star(options = {})
|
45
|
-
return
|
44
|
+
return Producteev::Api.instance.send_request("/tasks/set_star.json",options,@token)
|
46
45
|
end
|
47
46
|
|
48
47
|
def set_responsible(options = {})
|
49
|
-
return
|
48
|
+
return Producteev::Api.instance.send_request("/tasks/set_responsible.json",options,@token)
|
50
49
|
end
|
51
50
|
|
52
51
|
def unset_responsible(options = {})
|
53
|
-
return
|
52
|
+
return Producteev::Api.instance.send_request("/tasks/unset_responsible.json",options,@token)
|
54
53
|
end
|
55
54
|
|
56
55
|
def set_deadline(options = {})
|
57
|
-
return
|
56
|
+
return Producteev::Api.instance.send_request("/tasks/set_deadline.json",options,@token)
|
58
57
|
end
|
59
58
|
|
60
59
|
def unset_deadline(options = {})
|
61
|
-
return
|
60
|
+
return Producteev::Api.instance.send_request("/tasks/unset_deadline.json",options,@token)
|
62
61
|
end
|
63
62
|
|
64
63
|
def set_reminder(options = {})
|
65
|
-
return
|
64
|
+
return Producteev::Api.instance.send_request("/tasks/set_reminder.json",options,@token)
|
66
65
|
end
|
67
66
|
|
68
67
|
def set_repeating(options = {})
|
69
|
-
return
|
68
|
+
return Producteev::Api.instance.send_request("/tasks/set_repeating.json",options,@token)
|
70
69
|
end
|
71
70
|
|
72
71
|
def unset_repeating(options = {})
|
73
|
-
return
|
72
|
+
return Producteev::Api.instance.send_request("/tasks/unset_repeating.json",options,@token)
|
74
73
|
end
|
75
74
|
|
76
75
|
def labels(options = {})
|
77
|
-
return
|
76
|
+
return Producteev::Api.instance.send_request("/tasks/labels.json",options,@token)
|
78
77
|
end
|
79
78
|
|
80
79
|
def change_labels(options = {})
|
81
|
-
return
|
80
|
+
return Producteev::Api.instance.send_request("/tasks/change_labels.json",options,@token)
|
82
81
|
end
|
83
82
|
|
84
83
|
def set_workspace(options = {})
|
85
|
-
return
|
84
|
+
return Producteev::Api.instance.send_request("/tasks/set_workspace.json",options,@token)
|
86
85
|
end
|
87
86
|
|
88
87
|
def note_view(options = {})
|
89
|
-
return
|
88
|
+
return Producteev::Api.instance.send_request("/tasks/note_view.json",options,@token)
|
90
89
|
end
|
91
90
|
|
92
91
|
def notes_get(options = {})
|
93
|
-
return
|
92
|
+
return Producteev::Api.instance.send_request("/tasks/notes_get.json",options,@token)
|
94
93
|
end
|
95
94
|
|
96
95
|
def note_create(options = {})
|
97
|
-
return
|
96
|
+
return Producteev::Api.instance.send_request("/tasks/note_create.json",options,@token)
|
98
97
|
end
|
99
98
|
|
100
99
|
def note_delete(options = {})
|
101
|
-
return
|
100
|
+
return Producteev::Api.instance.send_request("/tasks/note_delete.json",options,@token)
|
102
101
|
end
|
103
102
|
|
104
103
|
def activity_view(options = {})
|
105
|
-
return
|
104
|
+
return Producteev::Api.instance.send_request("/tasks/activity_view.json",options,@token)
|
106
105
|
end
|
107
106
|
|
108
107
|
def activities_get(options = {})
|
109
|
-
return
|
108
|
+
return Producteev::Api.instance.send_request("/tasks/activities_get.json",options,@token)
|
110
109
|
end
|
111
110
|
end
|
112
111
|
end
|
data/lib/producteev/version.rb
CHANGED
data/lib/producteev.rb
CHANGED
@@ -16,7 +16,12 @@ module Producteev
|
|
16
16
|
class << self
|
17
17
|
|
18
18
|
def new(apikey,secret, debug = false)
|
19
|
-
Producteev::
|
19
|
+
Producteev::Api.instance.api_set(apikey,secret, debug)
|
20
|
+
return self
|
21
|
+
end
|
22
|
+
|
23
|
+
def login (username, password)
|
24
|
+
return Producteev::Client.new(username, password)
|
20
25
|
end
|
21
26
|
end
|
22
27
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: producteev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-01-26 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|
16
|
-
requirement: &
|
16
|
+
requirement: &17732380 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *17732380
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: json
|
27
|
-
requirement: &
|
27
|
+
requirement: &17731800 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *17731800
|
36
36
|
description: Api client for producteev
|
37
37
|
email: steve@thatbytes.co.uk
|
38
38
|
executables: []
|