producteev 0.0.3 → 1.0.0

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.
@@ -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: []