producteev 0.0.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,24 +1,23 @@
1
1
  module Producteev
2
2
  class Activities
3
- @api = nil
4
- def initialize(api)
5
- @api = api
3
+ def initialize(token)
4
+ @token = token
6
5
  end
7
6
 
8
7
  def show_activities(options = {})
9
- return @api.send_request("/activities/show_activities.json",options)
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 @api.send_request("/activities/show_notifications.json",options)
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 @api.send_request("/activities/notifications_set_read.json",options)
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 @api.send_request("/activities/set_read.json",options)
20
+ return Producteev::Api.instance.send_request("/activities/set_read.json",options,@token)
22
21
  end
23
22
  end
24
23
  end
@@ -3,17 +3,19 @@ module Producteev
3
3
  include HTTParty
4
4
  base_uri 'https://api.producteev.com/'
5
5
 
6
- def initialize(apikey,secret, debug)
7
- @apikey = apikey
8
- @secret = secret
9
- @token = nil
10
- @debug = debug
6
+ @@instance = Api.new
7
+
8
+ def self.instance
9
+ return @@instance
11
10
  end
12
11
 
13
- def login(email,password)
14
- param = {:email => email, :password => password}
15
- @token = self.send_request("/users/login.json",param)['login']['token']
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+@secret
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 => @apikey})
37
+ def send_request(path, options={},token = nil)
38
+ options.merge!({:api_key => @@apikey})
37
39
 
38
- if @token != nil
39
- options.merge!({:token => @token})
40
+ if token != nil
41
+ options.merge!({:token => token})
40
42
  end
41
43
  options.merge!({:api_sig => generate_signature(options)})
42
44
 
@@ -1,37 +1,33 @@
1
1
  module Producteev
2
2
  class Client
3
- @api = nil
4
-
5
- def initialize(apikey,secret, debug = false)
6
- @api = Producteev::Api.new(apikey,secret, debug)
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(@api)
10
+ return Producteev::Tasks.new(@token)
15
11
  end
16
12
 
17
13
  def labels()
18
- return Producteev::Labels.new(@api)
14
+ return Producteev::Labels.new(@token)
19
15
  end
20
16
 
21
17
  def time()
22
- return @api.send_request("/time.json")
18
+ return Producteev::Api.instance.send_request("/time.json",{},@token)
23
19
  end
24
20
 
25
21
  def activities()
26
- return Producteev::Activities.new(@api)
22
+ return Producteev::Activities.new(@token)
27
23
  end
28
24
 
29
25
  def dashboards()
30
- return Producteev::Dashboards.new(@api)
26
+ return Producteev::Dashboards.new(@token)
31
27
  end
32
28
 
33
29
  def users()
34
- return Producteev::Users.new(@api)
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
- @api = nil
4
- def initialize(api)
5
- @api = api
3
+ def initialize(token)
4
+ @token = token
6
5
  end
7
6
 
8
7
  def create(options = {})
9
- return @api.send_request("/dashboards/create.json",options)
8
+ return Producteev::Api.instance.send_request("/dashboards/create.json",options,@token)
10
9
  end
11
10
 
12
11
  def view(options = {})
13
- return @api.send_request("/dashboards/view.json",options)
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 @api.send_request("/dashboards/show_list.json",options)
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 @api.send_request("/dashboards/access.json",options)
20
+ return Producteev::Api.instance.send_request("/dashboards/access.json",options,@token)
22
21
  end
23
22
 
24
23
  def leave(options = {})
25
- return @api.send_request("/dashboards/leave.json",options)
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 @api.send_request("/dashboards/set_title.json",options)
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 @api.send_request("/dashboards/set_smart_labels.json",options)
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 @api.send_request("/dashboards/delete.json",options)
36
+ return Producteev::Api.instance.send_request("/dashboards/delete.json",options,@token)
38
37
  end
39
38
 
40
39
  def tasks(options = {})
41
- return @api.send_request("/dashboards/tasks.json",options)
40
+ return Producteev::Api.instance.send_request("/dashboards/tasks.json",options,@token)
42
41
  end
43
42
 
44
43
  def confirm(options = {})
45
- return @api.send_request("/dashboards/confirm.json",options)
44
+ return Producteev::Api.instance.send_request("/dashboards/confirm.json",options,@token)
46
45
  end
47
46
 
48
47
  def refuse(options = {})
49
- return @api.send_request("/dashboards/refuse.json",options)
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 @api.send_request("/dashboards/invite_user_by_id.json",options)
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 @api.send_request("/dashboards/invite_user_by_email.json",options)
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 @api.send_request("/dashboards/need_upgrade_list.json",options)
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 @api.send_request("/dashboards/needs_upgrade.json",options)
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 @api.send_request("/dashboards/reorder.json",options)
68
+ return Producteev::Api.instance.send_request("/dashboards/reorder.json",options,@token)
70
69
  end
71
70
 
72
71
  end
@@ -1,32 +1,31 @@
1
1
  module Producteev
2
2
  class Labels
3
- @api = nil
4
- def initialize(api)
5
- @api = api
3
+ def initialize(token)
4
+ @token = token
6
5
  end
7
6
 
8
7
  def create(options = {})
9
- return @api.send_request("/labels/create.json",options)
8
+ return Producteev::Api.instance.send_request("/labels/create.json",options,@token)
10
9
  end
11
10
 
12
11
  def delete(options = {})
13
- return @api.send_request("/labels/delete.json",options)
12
+ return Producteev::Api.instance.send_request("/labels/delete.json",options,@token)
14
13
  end
15
14
 
16
15
  def view(options = {})
17
- return @api.send_request("/labels/view.json",options)
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 @api.send_request("/labels/show_list.json",options)
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 @api.send_request("/labels/tasks.json",options)
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 @api.send_request("/labels/set_title.json",options)
28
+ return Producteev::Api.instance.send_request("/labels/set_title.json",options,@token)
30
29
  end
31
30
  end
32
31
  end
@@ -1,112 +1,111 @@
1
1
  module Producteev
2
2
  class Tasks
3
- @api = nil
4
- def initialize(api)
5
- @api = api
3
+ def initialize(token)
4
+ @token = token
6
5
  end
7
6
 
8
7
  def create(options = {})
9
- return @api.send_request("/tasks/create.json",options)
8
+ return Producteev::Api.instance.send_request("/tasks/create.json", options,@token)
10
9
  end
11
10
 
12
11
  def delete(options = {})
13
- return @api.send_request("/tasks/delete.json",options)
12
+ return Producteev::Api.instance.send_request("/tasks/delete.json",options,@token)
14
13
  end
15
14
 
16
15
  def view(options = {})
17
- return @api.send_request("/tasks/view.json",options)
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 @api.send_request("/tasks/show_list.json",options)
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 @api.send_request("/tasks/show_list.json",options)
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 @api.send_request("/tasks/archived.json",options)
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 @api.send_request("/tasks/my_team_tasks.json",options)
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 @api.send_request("/tasks/set_title.json",options)
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 @api.send_request("/tasks/set_status.json",options)
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 @api.send_request("/tasks/set_star.json",options)
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 @api.send_request("/tasks/set_responsible.json",options)
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 @api.send_request("/tasks/unset_responsible.json",options)
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 @api.send_request("/tasks/set_deadline.json",options)
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 @api.send_request("/tasks/unset_deadline.json",options)
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 @api.send_request("/tasks/set_reminder.json",options)
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 @api.send_request("/tasks/set_repeating.json",options)
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 @api.send_request("/tasks/unset_repeating.json",options)
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 @api.send_request("/tasks/labels.json",options)
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 @api.send_request("/tasks/change_labels.json",options)
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 @api.send_request("/tasks/set_workspace.json",options)
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 @api.send_request("/tasks/note_view.json",options)
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 @api.send_request("/tasks/notes_get.json",options)
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 @api.send_request("/tasks/note_create.json",options)
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 @api.send_request("/tasks/note_delete.json",options)
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 @api.send_request("/tasks/activity_view.json",options)
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 @api.send_request("/tasks/activities_get.json",options)
108
+ return Producteev::Api.instance.send_request("/tasks/activities_get.json",options,@token)
110
109
  end
111
110
  end
112
111
  end
@@ -1,8 +1,8 @@
1
1
  module Producteev
2
2
  module VERSION
3
- MAJOR = 0
3
+ MAJOR = 1
4
4
  MINOR = 0
5
- PATCH = 3
5
+ PATCH = 0
6
6
  BUILD = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.');
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::Client.new(apikey,secret,debug)
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.3
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: &22266440 !ruby/object:Gem::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: *22266440
24
+ version_requirements: *17732380
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: json
27
- requirement: &22265820 !ruby/object:Gem::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: *22265820
35
+ version_requirements: *17731800
36
36
  description: Api client for producteev
37
37
  email: steve@thatbytes.co.uk
38
38
  executables: []