odesk-api 0.1.1 → 0.1.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/lib/odesk/api/routers/activities/engagement.rb +57 -0
- data/lib/odesk/api/routers/hr/clients/offers.rb +4 -3
- data/lib/odesk/api/version.rb +1 -1
- data/test/test_activities_engagement.rb +21 -0
- data/test/test_hr_clients_offers.rb +2 -2
- metadata +5 -5
- data/lib/odesk/api/routers/activities/user.rb +0 -125
- data/test/test_activities_user.rb +0 -46
@@ -0,0 +1,57 @@
|
|
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
|
+
# Engagement Activities
|
19
|
+
class Engagement
|
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 activities for specific engagement
|
32
|
+
#
|
33
|
+
# Arguments:
|
34
|
+
# company: (String)
|
35
|
+
# team: (String)
|
36
|
+
# engagement_ref: (String)
|
37
|
+
# params: (Hash)
|
38
|
+
def get_specific(company, team, engagement_ref, params)
|
39
|
+
@client.get '/tasks/v2/tasks/contracts/' + engagement_ref, params
|
40
|
+
end
|
41
|
+
|
42
|
+
# Assign engagements to the list of activities
|
43
|
+
#
|
44
|
+
# Arguments:
|
45
|
+
# company: (String)
|
46
|
+
# team: (String)
|
47
|
+
# engagement: (String)
|
48
|
+
# params: (Hash)
|
49
|
+
def assign(company, team, engagement, params)
|
50
|
+
@client.put '/otask/v1/tasks/companies/' + company + '/' + team + '/engagements/' + engagement, params
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -42,9 +42,10 @@ module Odesk
|
|
42
42
|
#
|
43
43
|
# Arguments:
|
44
44
|
# reference: (String)
|
45
|
-
|
45
|
+
# params: (Hash)
|
46
|
+
def get_specific(reference, params)
|
46
47
|
$LOG.i "running " + __method__.to_s
|
47
|
-
@client.get '/offers/v1/clients/offers/' + reference
|
48
|
+
@client.get '/offers/v1/clients/offers/' + reference, params
|
48
49
|
end
|
49
50
|
|
50
51
|
# Make an Offer
|
@@ -60,4 +61,4 @@ module Odesk
|
|
60
61
|
end
|
61
62
|
end
|
62
63
|
end
|
63
|
-
end
|
64
|
+
end
|
data/lib/odesk/api/version.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
$:.unshift 'lib'
|
2
|
+
$LOAD_PATH << File.dirname(__FILE__)
|
3
|
+
|
4
|
+
require 'helper'
|
5
|
+
require 'odesk/api/routers/activities/engagement'
|
6
|
+
require 'test/unit'
|
7
|
+
require 'mocha/test_unit'
|
8
|
+
|
9
|
+
class ActivitiesEngagementTest < Test::Unit::TestCase
|
10
|
+
include TestHelper
|
11
|
+
|
12
|
+
def test_get_specific
|
13
|
+
api = Odesk::Api::Routers::Activities::Engagement.new(get_client_mock)
|
14
|
+
assert api.get_specific('company', 'team', '1234', {})
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_assign
|
18
|
+
api = Odesk::Api::Routers::Activities::Engagement.new(get_client_mock)
|
19
|
+
assert api.assign('company', 'team', '1234', {})
|
20
|
+
end
|
21
|
+
end
|
@@ -16,11 +16,11 @@ class HrClientsOffersTest < Test::Unit::TestCase
|
|
16
16
|
|
17
17
|
def test_get_specific
|
18
18
|
api = Odesk::Api::Routers::Hr::Clients::Offers.new(get_client_mock)
|
19
|
-
assert api.get_specific('12')
|
19
|
+
assert api.get_specific('12', {})
|
20
20
|
end
|
21
21
|
|
22
22
|
def test_make_offer
|
23
23
|
api = Odesk::Api::Routers::Hr::Clients::Offers.new(get_client_mock)
|
24
24
|
assert api.make_offer({})
|
25
25
|
end
|
26
|
-
end
|
26
|
+
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.
|
4
|
+
version: 0.1.2
|
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-
|
12
|
+
date: 2014-08-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -63,8 +63,8 @@ files:
|
|
63
63
|
- lib/odesk/api/config.rb
|
64
64
|
- lib/odesk/api/logger.rb
|
65
65
|
- lib/odesk/api/routers/activities/company.rb
|
66
|
+
- lib/odesk/api/routers/activities/engagement.rb
|
66
67
|
- lib/odesk/api/routers/activities/team.rb
|
67
|
-
- lib/odesk/api/routers/activities/user.rb
|
68
68
|
- lib/odesk/api/routers/auth.rb
|
69
69
|
- lib/odesk/api/routers/freelancers/profile.rb
|
70
70
|
- lib/odesk/api/routers/freelancers/search.rb
|
@@ -96,8 +96,8 @@ files:
|
|
96
96
|
- odesk-api.gemspec
|
97
97
|
- test/helper.rb
|
98
98
|
- test/test_activities_company.rb
|
99
|
+
- test/test_activities_engagement.rb
|
99
100
|
- test/test_activities_team.rb
|
100
|
-
- test/test_activities_user.rb
|
101
101
|
- test/test_auth.rb
|
102
102
|
- test/test_client.rb
|
103
103
|
- test/test_config.rb
|
@@ -156,8 +156,8 @@ summary: Ruby bindings for oDesk API.
|
|
156
156
|
test_files:
|
157
157
|
- test/helper.rb
|
158
158
|
- test/test_activities_company.rb
|
159
|
+
- test/test_activities_engagement.rb
|
159
160
|
- test/test_activities_team.rb
|
160
|
-
- test/test_activities_user.rb
|
161
161
|
- test/test_auth.rb
|
162
162
|
- test/test_client.rb
|
163
163
|
- test/test_config.rb
|
@@ -1,125 +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
|
-
# User Activities
|
19
|
-
class User
|
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
|
-
# team: (String)
|
36
|
-
# user: (String)
|
37
|
-
def get_list(company, team, user)
|
38
|
-
get_by_type company, team, user, nil, false
|
39
|
-
end
|
40
|
-
|
41
|
-
# List all oTask/Activity records within a Company with additional info
|
42
|
-
#
|
43
|
-
# Arguments:
|
44
|
-
# company: (String)
|
45
|
-
# team: (String)
|
46
|
-
# user: (String)
|
47
|
-
def get_full_list(company, team, user)
|
48
|
-
get_by_type company, team, user, nil, true
|
49
|
-
end
|
50
|
-
|
51
|
-
# List all oTask/Activity records within a Company by specified code(s)
|
52
|
-
#
|
53
|
-
# Arguments:
|
54
|
-
# company: (String)
|
55
|
-
# team: (String)
|
56
|
-
# user: (String)
|
57
|
-
# code: (String)
|
58
|
-
def get_specific_list(company, team, user, code)
|
59
|
-
get_by_type company, team, user, code, false
|
60
|
-
end
|
61
|
-
|
62
|
-
# Create an oTask/Activity record within a company
|
63
|
-
#
|
64
|
-
# Arguments:
|
65
|
-
# company: (String)
|
66
|
-
# team: (String)
|
67
|
-
# user: (String)
|
68
|
-
# params: (Hash)
|
69
|
-
def add_activity(company, team, user, params)
|
70
|
-
@client.post '/otask/v1/tasks/companies/' + company + '/' + team + '/' + user + '/tasks', params
|
71
|
-
end
|
72
|
-
|
73
|
-
# Update specific oTask/Activity record within a company
|
74
|
-
#
|
75
|
-
# Arguments:
|
76
|
-
# company: (String)
|
77
|
-
# team: (String)
|
78
|
-
# user: (String)
|
79
|
-
# code: (String)
|
80
|
-
# params: (Hash)
|
81
|
-
def update_activities(company, team, user, code, params)
|
82
|
-
@client.put '/otask/v1/tasks/companies/' + company + '/' + team + '/' + user + '/tasks/' + code, params
|
83
|
-
end
|
84
|
-
|
85
|
-
# Delete specific oTask/Activity record within a company
|
86
|
-
#
|
87
|
-
# Arguments:
|
88
|
-
# company: (String)
|
89
|
-
# team: (String)
|
90
|
-
# user: (String)
|
91
|
-
# code: (String)
|
92
|
-
def delete_activities(company, team, user, code)
|
93
|
-
@client.delete '/otask/v1/tasks/companies/' + company + '/' + team + '/' + user + '/tasks/' + code
|
94
|
-
end
|
95
|
-
|
96
|
-
# Delete all oTask/Activity records within a company
|
97
|
-
#
|
98
|
-
# Arguments:
|
99
|
-
# company: (String)
|
100
|
-
# team: (String)
|
101
|
-
# user: (String)
|
102
|
-
def delete_all_activities(company, team, user)
|
103
|
-
@client.delete '/otask/v1/tasks/companies/' + company + '/' + team + '/' + user + '/tasks/all_tasks'
|
104
|
-
end
|
105
|
-
|
106
|
-
private
|
107
|
-
|
108
|
-
# Get by type
|
109
|
-
def get_by_type(company, team, user, code = nil, is_full = false)
|
110
|
-
$LOG.i "running " + __method__.to_s
|
111
|
-
url = '';
|
112
|
-
if (is_full)
|
113
|
-
url = '/full_list';
|
114
|
-
elsif code != nil
|
115
|
-
url = '/' + code;
|
116
|
-
end
|
117
|
-
|
118
|
-
@client.get '/otask/v1/tasks/companies/' + company + '/' + team + '/' + user + '/tasks' + url
|
119
|
-
end
|
120
|
-
|
121
|
-
end
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
125
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
$:.unshift 'lib'
|
2
|
-
$LOAD_PATH << File.dirname(__FILE__)
|
3
|
-
|
4
|
-
require 'helper'
|
5
|
-
require 'odesk/api/routers/activities/user'
|
6
|
-
require 'test/unit'
|
7
|
-
require 'mocha/test_unit'
|
8
|
-
|
9
|
-
class ActivitiesUserTest < Test::Unit::TestCase
|
10
|
-
include TestHelper
|
11
|
-
|
12
|
-
def test_get_list
|
13
|
-
api = Odesk::Api::Routers::Activities::User.new(get_client_mock)
|
14
|
-
assert api.get_list('company', 'team', 'user')
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_get_full_list
|
18
|
-
api = Odesk::Api::Routers::Activities::User.new(get_client_mock)
|
19
|
-
assert api.get_full_list('company', 'team', 'user')
|
20
|
-
end
|
21
|
-
|
22
|
-
def test_get_specific_list
|
23
|
-
api = Odesk::Api::Routers::Activities::User.new(get_client_mock)
|
24
|
-
assert api.get_specific_list('company', 'team', 'user', 'code')
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_add_activity
|
28
|
-
api = Odesk::Api::Routers::Activities::User.new(get_client_mock)
|
29
|
-
assert api.add_activity('company', 'team', 'user', {})
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_update_activities
|
33
|
-
api = Odesk::Api::Routers::Activities::User.new(get_client_mock)
|
34
|
-
assert api.update_activities('company', 'team', 'user', 'code', {})
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_delete_activities
|
38
|
-
api = Odesk::Api::Routers::Activities::User.new(get_client_mock)
|
39
|
-
assert api.delete_activities('company', 'team', 'user', 'code')
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_delete_all_activities
|
43
|
-
api = Odesk::Api::Routers::Activities::User.new(get_client_mock)
|
44
|
-
assert api.delete_all_activities('company', 'team', 'user')
|
45
|
-
end
|
46
|
-
end
|