odesk-api 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -145,7 +145,7 @@ module Odesk
145
145
 
146
146
  case method
147
147
  when :get
148
- url = get_url_with_params get_uri_with_format(uri), params
148
+ url = get_url_with_params get_uri_with_format(uri), params.each { |k, v| params[k] = OAuth::Helper::escape(v) }
149
149
  response = @access_token.get(url).body
150
150
  when :post, :put, :delete
151
151
  response = @access_token.post(get_uri_with_format(uri), params).body
@@ -158,4 +158,4 @@ module Odesk
158
158
 
159
159
  end
160
160
  end
161
- end
161
+ end
@@ -34,16 +34,7 @@ module Odesk
34
34
  # company: (String)
35
35
  # team: (String)
36
36
  def get_list(company, team)
37
- get_by_type company, team, nil, false
38
- end
39
-
40
- # List all oTask/Activity records within a Company with additional info
41
- #
42
- # Arguments:
43
- # company: (String)
44
- # team: (String)
45
- def get_full_list(company, team)
46
- get_by_type company, team, nil, true
37
+ get_by_type company, team, nil
47
38
  end
48
39
 
49
40
  # List all oTask/Activity records within a Company by specified code(s)
@@ -53,7 +44,7 @@ module Odesk
53
44
  # team: (String)
54
45
  # code: (String)
55
46
  def get_specific_list(company, team, code)
56
- get_by_type company, team, code, false
47
+ get_by_type company, team, code
57
48
  end
58
49
 
59
50
  # Create an oTask/Activity record within a team
@@ -97,34 +88,13 @@ module Odesk
97
88
  @client.put '/otask/v1/tasks/companies/' + company + '/' + team + '/unarchive/' + code
98
89
  end
99
90
 
100
- # Delete specific oTask/Activity record within a team
101
- #
102
- # Arguments:
103
- # company: (String)
104
- # team: (String)
105
- # code: (String)
106
- def delete_activities(company, team, code)
107
- @client.delete '/otask/v1/tasks/companies/' + company + '/' + team + '/tasks/' + code
108
- end
109
-
110
- # Delete all oTask/Activity records within a team
111
- #
112
- # Arguments:
113
- # company: (String)
114
- # team: (String)
115
- def delete_all_activities(company, team)
116
- @client.delete '/otask/v1/tasks/companies/' + company + '/' + team + '/tasks/all_tasks'
117
- end
118
-
119
91
  private
120
92
 
121
93
  # Get by type
122
- def get_by_type(company, team, code = nil, is_full = false)
94
+ def get_by_type(company, team, code = nil)
123
95
  $LOG.i "running " + __method__.to_s
124
96
  url = '';
125
- if (is_full)
126
- url = '/full_list';
127
- elsif code != nil
97
+ if code != nil
128
98
  url = '/' + code;
129
99
  end
130
100
 
@@ -52,6 +52,30 @@ module Odesk
52
52
  @client.get '/mc/v1/threads/' + username + '/' + thread_id
53
53
  end
54
54
 
55
+ # Get a specific thread by context
56
+ #
57
+ # Arguments:
58
+ # username: (String)
59
+ # job_key: (String)
60
+ # application_id: (String)
61
+ # context: (String)
62
+ def get_thread_by_context(username, job_key, application_id, context = 'Interviews')
63
+ $LOG.i "running " + __method__.to_s
64
+ @client.get '/mc/v1/contexts/' + username + '/' + context + ':' + job_key + ':' + application_id
65
+ end
66
+
67
+ # Get a specific thread by context (last message content)
68
+ #
69
+ # Arguments:
70
+ # username: (String)
71
+ # job_key: (String)
72
+ # application_id: (String)
73
+ # context: (String)
74
+ def get_thread_by_context_last_posts(username, job_key, application_id, context = 'Interviews')
75
+ $LOG.i "running " + __method__.to_s
76
+ @client.get '/mc/v1/contexts/' + username + '/' + context + ':' + job_key + ':' + application_id + '/last_posts'
77
+ end
78
+
55
79
  # Send new message
56
80
  #
57
81
  # Arguments:
@@ -86,4 +110,4 @@ module Odesk
86
110
  end
87
111
  end
88
112
  end
89
- end
113
+ end
@@ -13,6 +13,6 @@
13
13
 
14
14
  module Odesk # :nodoc:
15
15
  module Api
16
- VERSION = "0.1.3"
16
+ VERSION = "0.1.4"
17
17
  end
18
18
  end
@@ -14,11 +14,6 @@ class ActivitiesTeamTest < Test::Unit::TestCase
14
14
  assert api.get_list('company', 'team')
15
15
  end
16
16
 
17
- def test_get_full_list
18
- api = Odesk::Api::Routers::Activities::Team.new(get_client_mock)
19
- assert api.get_full_list('company', 'team')
20
- end
21
-
22
17
  def test_get_specific_list
23
18
  api = Odesk::Api::Routers::Activities::Team.new(get_client_mock)
24
19
  assert api.get_specific_list('company', 'team', 'code')
@@ -43,14 +38,4 @@ class ActivitiesTeamTest < Test::Unit::TestCase
43
38
  api = Odesk::Api::Routers::Activities::Team.new(get_client_mock)
44
39
  assert api.unarchive_activities('company', 'team', 'code')
45
40
  end
46
-
47
- def test_delete_activities
48
- api = Odesk::Api::Routers::Activities::Team.new(get_client_mock)
49
- assert api.delete_activities('company', 'team', 'code')
50
- end
51
-
52
- def test_delete_all_activities
53
- api = Odesk::Api::Routers::Activities::Team.new(get_client_mock)
54
- assert api.delete_all_activities('company', 'team')
55
- end
56
41
  end
data/test/test_mc.rb CHANGED
@@ -24,6 +24,16 @@ class McTest < Test::Unit::TestCase
24
24
  assert api.get_thread_details('username', '12')
25
25
  end
26
26
 
27
+ def test_get_thread_by_context
28
+ api = Odesk::Api::Routers::Mc.new(get_client_mock)
29
+ assert api.get_thread_by_context('username', '~key', '12')
30
+ end
31
+
32
+ def test_get_thread_by_context_last_posts
33
+ api = Odesk::Api::Routers::Mc.new(get_client_mock)
34
+ assert api.get_thread_by_context_last_posts('username', '~key', '12')
35
+ end
36
+
27
37
  def test_start_new_thread
28
38
  api = Odesk::Api::Routers::Mc.new(get_client_mock)
29
39
  assert api.start_new_thread('username', {})
@@ -38,4 +48,4 @@ class McTest < Test::Unit::TestCase
38
48
  api = Odesk::Api::Routers::Mc.new(get_client_mock)
39
49
  assert api.mark_thread('username', '12', {})
40
50
  end
41
- end
51
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: odesk-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-08-04 00:00:00.000000000 Z
12
+ date: 2014-08-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -62,7 +62,6 @@ files:
62
62
  - lib/odesk/api/client.rb
63
63
  - lib/odesk/api/config.rb
64
64
  - lib/odesk/api/logger.rb
65
- - lib/odesk/api/routers/activities/company.rb
66
65
  - lib/odesk/api/routers/activities/engagement.rb
67
66
  - lib/odesk/api/routers/activities/team.rb
68
67
  - lib/odesk/api/routers/auth.rb
@@ -95,7 +94,6 @@ files:
95
94
  - lib/odesk/api/version.rb
96
95
  - odesk-api.gemspec
97
96
  - test/helper.rb
98
- - test/test_activities_company.rb
99
97
  - test/test_activities_engagement.rb
100
98
  - test/test_activities_team.rb
101
99
  - test/test_auth.rb
@@ -155,7 +153,6 @@ specification_version: 3
155
153
  summary: Ruby bindings for oDesk API.
156
154
  test_files:
157
155
  - test/helper.rb
158
- - test/test_activities_company.rb
159
156
  - test/test_activities_engagement.rb
160
157
  - test/test_activities_team.rb
161
158
  - test/test_auth.rb
@@ -1,120 +0,0 @@
1
- # Licensed under the oDesk's API Terms of Use;
2
- # you may not use this file except in compliance with the Terms.
3
- #
4
- # Unless required by applicable law or agreed to in writing, software
5
- # distributed under the License is distributed on an "AS IS" BASIS,
6
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
7
- # See the License for the specific language governing permissions and
8
- # limitations under the License.
9
- #
10
- # Author:: Maksym Novozhylov (mnovozhilov@odesk.com)
11
- # Copyright:: Copyright 2014(c) oDesk.com
12
- # License:: See LICENSE.txt and TOS - http://developers.odesk.com/API-Terms-of-Use
13
-
14
- module Odesk
15
- module Api
16
- module Routers
17
- module Activities
18
- # Company Activities
19
- class Company
20
- ENTRY_POINT = 'api'
21
-
22
- # Init
23
- #
24
- # Arguments:
25
- # client: (Client)
26
- def initialize(client)
27
- @client = client
28
- @client.epoint = ENTRY_POINT
29
- end
30
-
31
- # List all oTask/Activity records within a Company
32
- #
33
- # Arguments:
34
- # company: (String)
35
- def get_list(company)
36
- get_by_type company, nil, false
37
- end
38
-
39
- # List all oTask/Activity records within a Company with additional info
40
- #
41
- # Arguments:
42
- # company: (String)
43
- def get_full_list(company)
44
- get_by_type company, nil, true
45
- end
46
-
47
- # List all oTask/Activity records within a Company by specified code(s)
48
- #
49
- # Arguments:
50
- # company: (String)
51
- # code: (String)
52
- def get_specific_list(company, code)
53
- get_by_type company, code, false
54
- end
55
-
56
- # Create an oTask/Activity record within a company
57
- #
58
- # Arguments:
59
- # company: (String)
60
- # params: (Hash)
61
- def add_activity(company, params)
62
- @client.post '/otask/v1/tasks/companies/' + company + '/tasks', params
63
- end
64
-
65
- # Update specific oTask/Activity record within a company
66
- #
67
- # Arguments:
68
- # company: (String)
69
- # code: (String)
70
- # params: (Hash)
71
- def update_activities(company, code, params)
72
- @client.put '/otask/v1/tasks/companies/' + company + '/tasks/' + code, params
73
- end
74
-
75
- # Update a group of oTask/Activity records within a company
76
- #
77
- # Arguments:
78
- # company: (String)
79
- # params: (Hash)
80
- def update_batch(company, params)
81
- @client.put '/otask/v1/tasks/companies/' + company + '/tasks/batch', params
82
- end
83
-
84
- # Delete specific oTask/Activity record within a company
85
- #
86
- # Arguments:
87
- # company: (String)
88
- # code: (String)
89
- def delete_activities(company, code)
90
- @client.delete '/otask/v1/tasks/companies/' + company + '/tasks/' + code
91
- end
92
-
93
- # Delete all oTask/Activity records within a company
94
- #
95
- # Arguments:
96
- # company: (String)
97
- def delete_all_activities(company)
98
- @client.delete '/otask/v1/tasks/companies/' + company + '/tasks/all_tasks'
99
- end
100
-
101
- private
102
-
103
- # Get by type
104
- def get_by_type(company, code = nil, is_full = false)
105
- $LOG.i "running " + __method__.to_s
106
- url = '';
107
- if (is_full)
108
- url = '/full_list';
109
- elsif code != nil
110
- url = '/' + code;
111
- end
112
-
113
- @client.get '/otask/v1/tasks/companies/' + company + '/tasks' + url
114
- end
115
-
116
- end
117
- end
118
- end
119
- end
120
- end
@@ -1,51 +0,0 @@
1
- $:.unshift 'lib'
2
- $LOAD_PATH << File.dirname(__FILE__)
3
-
4
- require 'helper'
5
- require 'odesk/api/routers/activities/company'
6
- require 'test/unit'
7
- require 'mocha/test_unit'
8
-
9
- class ActivitiesCompanyTest < Test::Unit::TestCase
10
- include TestHelper
11
-
12
- def test_get_list
13
- api = Odesk::Api::Routers::Activities::Company.new(get_client_mock)
14
- assert api.get_list('company')
15
- end
16
-
17
- def test_get_full_list
18
- api = Odesk::Api::Routers::Activities::Company.new(get_client_mock)
19
- assert api.get_full_list('company')
20
- end
21
-
22
- def test_get_specific_list
23
- api = Odesk::Api::Routers::Activities::Company.new(get_client_mock)
24
- assert api.get_specific_list('company', 'code')
25
- end
26
-
27
- def test_add_activity
28
- api = Odesk::Api::Routers::Activities::Company.new(get_client_mock)
29
- assert api.add_activity('company', {})
30
- end
31
-
32
- def test_update_activities
33
- api = Odesk::Api::Routers::Activities::Company.new(get_client_mock)
34
- assert api.update_activities('company', 'code', {})
35
- end
36
-
37
- def test_update_batch
38
- api = Odesk::Api::Routers::Activities::Company.new(get_client_mock)
39
- assert api.update_batch('company', {})
40
- end
41
-
42
- def test_delete_activities
43
- api = Odesk::Api::Routers::Activities::Company.new(get_client_mock)
44
- assert api.delete_activities('company', 'code')
45
- end
46
-
47
- def test_delete_all_activities
48
- api = Odesk::Api::Routers::Activities::Company.new(get_client_mock)
49
- assert api.delete_all_activities('company')
50
- end
51
- end