tracker_api 1.1.1 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/tracker_api.rb +3 -0
- data/lib/tracker_api/client.rb +17 -0
- data/lib/tracker_api/endpoints/workspace.rb +17 -0
- data/lib/tracker_api/endpoints/workspaces.rb +19 -0
- data/lib/tracker_api/resources/me.rb +1 -0
- data/lib/tracker_api/resources/workspace.rb +18 -0
- data/lib/tracker_api/version.rb +1 -1
- data/test/client_test.rb +34 -0
- data/test/minitest_helper.rb +2 -2
- data/test/story_test.rb +0 -2
- data/test/vcr/cassettes/get_all_workspaces.json +1 -0
- data/test/vcr/cassettes/get_story_with_owners.json +1 -0
- data/test/vcr/cassettes/get_workspace.json +1 -0
- data/test/vcr/cassettes/get_workspace_projects.json +1 -0
- data/test/workspace_test.rb +26 -0
- metadata +15 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c9ea2a8e243027907fcc5a9c85368a6d6b8b42e
|
4
|
+
data.tar.gz: 572d93e69c9d3ee8ed9e92f0601581aa8e266223
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef0fe7129801167c7222534634b95ac652db1b7640b9bf2e14b4f3094ecff528a0d1b7361a85dbbbde276e72590cdc6aee7db84c12c246e514121cb7fa305cd2
|
7
|
+
data.tar.gz: d0fbe2d2d61c05aaadaf3e246abc85e0068d84572fcc807a11fa0f313afc0d6163053f70d38b1585ab627ce4ac45819ce0b9ccfcbcf84dd0599ba746075f8cd2
|
data/README.md
CHANGED
data/lib/tracker_api.rb
CHANGED
@@ -42,6 +42,8 @@ module TrackerApi
|
|
42
42
|
autoload :Notifications, 'tracker_api/endpoints/notifications'
|
43
43
|
autoload :Project, 'tracker_api/endpoints/project'
|
44
44
|
autoload :Projects, 'tracker_api/endpoints/projects'
|
45
|
+
autoload :Workspace, 'tracker_api/endpoints/workspace'
|
46
|
+
autoload :Workspaces, 'tracker_api/endpoints/workspaces'
|
45
47
|
autoload :Stories, 'tracker_api/endpoints/stories'
|
46
48
|
autoload :Story, 'tracker_api/endpoints/story'
|
47
49
|
autoload :StoryOwners, 'tracker_api/endpoints/story_owners'
|
@@ -68,6 +70,7 @@ module TrackerApi
|
|
68
70
|
autoload :PrimaryResource, 'tracker_api/resources/primary_resource'
|
69
71
|
autoload :Project, 'tracker_api/resources/project'
|
70
72
|
autoload :ProjectMembership, 'tracker_api/resources/project_membership'
|
73
|
+
autoload :Workspace, 'tracker_api/resources/workspace'
|
71
74
|
autoload :Story, 'tracker_api/resources/story'
|
72
75
|
autoload :Task, 'tracker_api/resources/task'
|
73
76
|
autoload :TimeZone, 'tracker_api/resources/time_zone'
|
data/lib/tracker_api/client.rb
CHANGED
@@ -128,6 +128,23 @@ module TrackerApi
|
|
128
128
|
Endpoints::Project.new(self).get(id, params)
|
129
129
|
end
|
130
130
|
|
131
|
+
# Get workspace
|
132
|
+
#
|
133
|
+
# @param [Hash] params
|
134
|
+
# @return [TrackerApi::Resources::Workspace]
|
135
|
+
def workspace(id, params={})
|
136
|
+
Endpoints::Workspace.new(self).get(id, params)
|
137
|
+
end
|
138
|
+
|
139
|
+
# Get workspaces
|
140
|
+
#
|
141
|
+
# @param [Hash] params
|
142
|
+
# @return [Array[TrackerApi::Resources::Workspace]]
|
143
|
+
def workspaces(params={})
|
144
|
+
Endpoints::Workspaces.new(self).get(params)
|
145
|
+
end
|
146
|
+
|
147
|
+
|
131
148
|
# Get information about the authenticated user
|
132
149
|
#
|
133
150
|
# @return [TrackerApi::Resources::Me]
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module TrackerApi
|
2
|
+
module Endpoints
|
3
|
+
class Workspace
|
4
|
+
attr_accessor :client
|
5
|
+
|
6
|
+
def initialize(client)
|
7
|
+
@client = client
|
8
|
+
end
|
9
|
+
|
10
|
+
def get(id, params={})
|
11
|
+
data = client.get("/my/workspaces/#{id}", params: params).body
|
12
|
+
|
13
|
+
Resources::Workspace.new({ client: client }.merge(data))
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module TrackerApi
|
2
|
+
module Endpoints
|
3
|
+
class Workspaces
|
4
|
+
attr_accessor :client
|
5
|
+
|
6
|
+
def initialize(client)
|
7
|
+
@client = client
|
8
|
+
end
|
9
|
+
|
10
|
+
def get(params={})
|
11
|
+
data = client.paginate('/my/workspaces', params: params)
|
12
|
+
raise Errors::UnexpectedData, 'Array of workspaces expected' unless data.is_a? Array
|
13
|
+
|
14
|
+
data.map { |workspace| Resources::Workspace.new({ client: client }.merge(workspace))
|
15
|
+
}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -12,6 +12,7 @@ module TrackerApi
|
|
12
12
|
attribute :project_ids, [Integer]
|
13
13
|
attribute :projects, [MembershipSummary]
|
14
14
|
attribute :workspace_ids, [Integer]
|
15
|
+
attribute :workspaces, [Workspace]
|
15
16
|
attribute :email, String
|
16
17
|
attribute :receives_in_app_notifications, Boolean
|
17
18
|
attribute :kind, String
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module TrackerApi
|
2
|
+
module Resources
|
3
|
+
class Workspace
|
4
|
+
include Shared::Base
|
5
|
+
|
6
|
+
attribute :client
|
7
|
+
|
8
|
+
attribute :person, Person
|
9
|
+
attribute :person_id, Integer
|
10
|
+
attribute :created_at, DateTime
|
11
|
+
attribute :project_ids, [Integer]
|
12
|
+
attribute :projects, [Project]
|
13
|
+
attribute :kind, String
|
14
|
+
attribute :name, String
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/tracker_api/version.rb
CHANGED
data/test/client_test.rb
CHANGED
@@ -61,6 +61,40 @@ describe TrackerApi::Client do
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
+
describe '.workspace' do
|
65
|
+
let(:pt_user) { PT_USER_1 }
|
66
|
+
let(:client) { TrackerApi::Client.new token: pt_user[:token] }
|
67
|
+
|
68
|
+
it 'gets a workspace by id' do
|
69
|
+
VCR.use_cassette('get workspace', record: :new_episodes) do
|
70
|
+
workspace = client.workspace(pt_user[:workspace_id])
|
71
|
+
|
72
|
+
workspace.must_be_instance_of TrackerApi::Resources::Workspace
|
73
|
+
workspace.id.must_equal pt_user[:workspace_id]
|
74
|
+
workspace.name.wont_be_empty
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
describe '.workspaces' do
|
81
|
+
let(:pt_user) { PT_USER_2 }
|
82
|
+
let(:client) { TrackerApi::Client.new token: pt_user[:token] }
|
83
|
+
|
84
|
+
it 'gets all workspaces' do
|
85
|
+
VCR.use_cassette('get all workspaces', record: :new_episodes) do
|
86
|
+
workspaces = client.workspaces(fields: ':default,projects(id,name)')
|
87
|
+
|
88
|
+
workspaces.wont_be_empty
|
89
|
+
workspace = workspaces.first
|
90
|
+
workspace.must_be_instance_of TrackerApi::Resources::Workspace
|
91
|
+
workspace.id.must_equal pt_user[:workspace_id]
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
|
64
98
|
describe '.me' do
|
65
99
|
let(:pt_user) { PT_USER_1 }
|
66
100
|
let(:client) { TrackerApi::Client.new token: pt_user[:token] }
|
data/test/minitest_helper.rb
CHANGED
@@ -25,8 +25,8 @@ VCR.configure do |c|
|
|
25
25
|
end
|
26
26
|
|
27
27
|
# These API Tokens are for a user with just one Public Sample Project
|
28
|
-
PT_USER_1 = { username: 'trackerapi1', password: 'trackerapi1', token: 'd55c3bc1f74346b843ca84ba340b29bf', project_id: 1027488 }
|
29
|
-
PT_USER_2 = { username: 'trackerapi2', password: 'trackerapi2', token: 'ab4c5895f57995bb7547986eacf91160',
|
28
|
+
PT_USER_1 = { username: 'trackerapi1', password: 'trackerapi1', token: 'd55c3bc1f74346b843ca84ba340b29bf', project_id: 1027488, workspace_id: 375106 }
|
29
|
+
PT_USER_2 = { username: 'trackerapi2', password: 'trackerapi2', token: 'ab4c5895f57995bb7547986eacf91160', project_ids: [1027488, 1027492], workspace_id: 581707 }
|
30
30
|
PT_USER_3 = { username: 'trackerapi3', password: 'trackerapi3', token: '77f9b9a466c436e6456939208c84c973', project_id: 1027494 }
|
31
31
|
PT_USERS = [PT_USER_1, PT_USER_2, PT_USER_3]
|
32
32
|
|
data/test/story_test.rb
CHANGED
@@ -76,8 +76,6 @@ describe TrackerApi::Resources::Story do
|
|
76
76
|
|
77
77
|
describe '.owners' do
|
78
78
|
it 'gets all owners for this story with eager loading' do
|
79
|
-
skip('Until this is resolved: https://pivotaltracker.zendesk.com/requests/35823')
|
80
|
-
|
81
79
|
story = VCR.use_cassette('get story with owners', record: :new_episodes) do
|
82
80
|
project.story(story_id, fields: ':default,owners')
|
83
81
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
{"http_interactions":[{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/my/workspaces?fields=%3Adefault%2Cprojects%28id%2Cname%29","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.7 (x86_64-darwin14.0; ruby) TrackerApi/1.1.1 Faraday/0.9.2"],"X-TrackerToken":["ab4c5895f57995bb7547986eacf91160"]}},"response":{"status":{"code":200,"message":null},"headers":{"Content-Type":["application/json; charset=utf-8"],"Status":["200 OK"],"Cache-Control":["max-age=0, private, must-revalidate"],"Date":["Wed, 25 May 2016 02:27:49 GMT"],"X-Request-Id":["8ea94bdaa44758cd41af559a957129bb"],"X-UA-Compatible":["IE=Edge,chrome=1"],"ETag":["\"a80576b5a281d7a36a8e3aada2cb8c7c\""],"X-Runtime":["0.063218"],"X-Rack-Cache":["miss"],"X-Powered-By":["Phusion Passenger Enterprise"],"Server":["nginx + Phusion Passenger"],"Access-Control-Allow-Origin":["*"],"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"X-Tracker-Client-Pinger-Interval":["12"]},"body":{"encoding":"UTF-8","string":"[{\"kind\":\"workspace\",\"projects\":[{\"id\":1027488,\"name\":\"My Sample Project\"},{\"id\":1027492,\"name\":\"My Sample Project\"}],\"id\":581707,\"name\":\"Multi-Project Workspace\",\"person_id\":1266316,\"project_ids\":[1027488,1027492]}]"},"http_version":null},"recorded_at":"Wed, 25 May 2016 02:27:49 GMT"}],"recorded_with":"VCR 3.0.2"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"http_interactions":[{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004?fields=%3Adefault%2Cowners","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.7 (x86_64-darwin14.0; ruby) TrackerApi/1.1.1 Faraday/0.9.2"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Content-Type":["application/json; charset=utf-8"],"Status":["200 OK"],"Cache-Control":["max-age=0, private, must-revalidate"],"Date":["Wed, 25 May 2016 02:39:30 GMT"],"X-Tracker-Project-Version":["128"],"X-Request-Id":["9ad7de7b05ba5ba68829f040e57bcbe8"],"X-UA-Compatible":["IE=Edge,chrome=1"],"ETag":["\"1fdca41d3806416d2ff9d2521aa430ba\""],"X-Runtime":["0.078259"],"X-Rack-Cache":["miss"],"X-Powered-By":["Phusion Passenger Enterprise"],"Server":["nginx + Phusion Passenger"],"Access-Control-Allow-Origin":["*"],"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"X-Tracker-Client-Pinger-Interval":["12"]},"body":{"encoding":"UTF-8","string":"{\"kind\":\"story\",\"id\":66728004,\"created_at\":\"2014-02-17T00:00:00Z\",\"updated_at\":\"2016-05-24T22:30:07Z\",\"story_type\":\"bug\",\"name\":\"Some product photos not scaled properly when browsing products++++++++\",\"description\":\"+++++++++\",\"current_state\":\"started\",\"requested_by_id\":1266314,\"url\":\"https://www.pivotaltracker.com/story/show/66728004\",\"project_id\":1027488,\"owner_ids\":[1266314,1266316],\"owners\":[{\"kind\":\"person\",\"id\":1266314,\"name\":\"Tracker API User1\",\"email\":\"forestcarlisle+trackerapi1@gmail.com\",\"initials\":\"TU1\",\"username\":\"trackerapi1\"},{\"kind\":\"person\",\"id\":1266316,\"name\":\"Tracker API User2\",\"email\":\"forestcarlisle+trackerapi2@gmail.com\",\"initials\":\"TU2\",\"username\":\"trackerapi2\"}],\"labels\":[{\"id\":11049868,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"label1\",\"created_at\":\"2015-03-07T12:51:39Z\",\"updated_at\":\"2015-03-07T12:51:39Z\"},{\"id\":11049870,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"label2\",\"created_at\":\"2015-03-07T12:51:39Z\",\"updated_at\":\"2015-03-07T12:51:39Z\"},{\"id\":14060665,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"super-special-label\",\"created_at\":\"2016-02-12T23:45:13Z\",\"updated_at\":\"2016-02-12T23:45:13Z\"}],\"owned_by_id\":1266314}"},"http_version":null},"recorded_at":"Wed, 25 May 2016 02:39:30 GMT"}],"recorded_with":"VCR 3.0.2"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"http_interactions":[{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/my/workspaces/375106","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.7 (x86_64-darwin14.0; ruby) TrackerApi/1.1.1 Faraday/0.9.2"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Content-Type":["application/json; charset=utf-8"],"Status":["200 OK"],"Cache-Control":["max-age=0, private, must-revalidate"],"Date":["Wed, 25 May 2016 02:27:50 GMT"],"X-Request-Id":["053ec593d3e5d88b17ad2197fa9300ec"],"X-UA-Compatible":["IE=Edge,chrome=1"],"ETag":["\"f99a89b7ccb408ba3825caea4c88e1b0\""],"X-Runtime":["0.065733"],"X-Rack-Cache":["miss"],"X-Powered-By":["Phusion Passenger Enterprise"],"Server":["nginx + Phusion Passenger"],"Access-Control-Allow-Origin":["*"],"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"X-Tracker-Client-Pinger-Interval":["12"]},"body":{"encoding":"UTF-8","string":"{\"kind\":\"workspace\",\"id\":375106,\"name\":\"Multi-Project Workspace\",\"person_id\":1266314,\"project_ids\":[1027488]}"},"http_version":null},"recorded_at":"Wed, 25 May 2016 02:27:50 GMT"}],"recorded_with":"VCR 3.0.2"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"http_interactions":[{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/my/workspaces/581707?fields=%3Adefault%2Cprojects%28id%2Cname%29","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.7 (x86_64-darwin14.0; ruby) TrackerApi/1.1.1 Faraday/0.9.2"],"X-TrackerToken":["ab4c5895f57995bb7547986eacf91160"]}},"response":{"status":{"code":200,"message":null},"headers":{"Content-Type":["application/json; charset=utf-8"],"Status":["200 OK"],"Cache-Control":["max-age=0, private, must-revalidate"],"Date":["Wed, 25 May 2016 02:27:49 GMT"],"X-Request-Id":["1010962fe376409c1e8e83de9b3c05be"],"X-UA-Compatible":["IE=Edge,chrome=1"],"ETag":["\"58110b19fda6dfb316c0b93fff8aab95\""],"X-Runtime":["0.052909"],"X-Rack-Cache":["miss"],"X-Powered-By":["Phusion Passenger Enterprise"],"Server":["nginx + Phusion Passenger"],"Access-Control-Allow-Origin":["*"],"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"X-Tracker-Client-Pinger-Interval":["12"]},"body":{"encoding":"UTF-8","string":"{\"kind\":\"workspace\",\"projects\":[{\"id\":1027488,\"name\":\"My Sample Project\"},{\"id\":1027492,\"name\":\"My Sample Project\"}],\"id\":581707,\"name\":\"Multi-Project Workspace\",\"person_id\":1266316,\"project_ids\":[1027488,1027492]}"},"http_version":null},"recorded_at":"Wed, 25 May 2016 02:27:48 GMT"}],"recorded_with":"VCR 3.0.2"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require_relative 'minitest_helper'
|
2
|
+
|
3
|
+
describe TrackerApi::Resources::Workspace do
|
4
|
+
let(:pt_user) { PT_USER_2 }
|
5
|
+
let(:client) { TrackerApi::Client.new token: pt_user[:token] }
|
6
|
+
let(:workspace_id) { pt_user[:workspace_id] }
|
7
|
+
let(:workspace) { VCR.use_cassette('get workspace') { client.workspace(workspace_id) } }
|
8
|
+
|
9
|
+
describe '.projects' do
|
10
|
+
it 'gets all projects for this workspace' do
|
11
|
+
VCR.use_cassette('get workspace projects', record: :new_episodes) do
|
12
|
+
workspace = client.workspace(pt_user[:workspace_id], fields: ':default,projects(id,name)')
|
13
|
+
projects = workspace.projects
|
14
|
+
|
15
|
+
projects.wont_be_empty
|
16
|
+
|
17
|
+
projects.size.must_equal 2
|
18
|
+
projects.first.must_be_instance_of TrackerApi::Resources::Project
|
19
|
+
|
20
|
+
pt_user[:project_ids].must_include projects.first.id
|
21
|
+
pt_user[:project_ids].must_include projects.last.id
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tracker_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Forest Carlisle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -239,6 +239,8 @@ files:
|
|
239
239
|
- lib/tracker_api/endpoints/story_owners.rb
|
240
240
|
- lib/tracker_api/endpoints/task.rb
|
241
241
|
- lib/tracker_api/endpoints/tasks.rb
|
242
|
+
- lib/tracker_api/endpoints/workspace.rb
|
243
|
+
- lib/tracker_api/endpoints/workspaces.rb
|
242
244
|
- lib/tracker_api/error.rb
|
243
245
|
- lib/tracker_api/logger.rb
|
244
246
|
- lib/tracker_api/resources/account.rb
|
@@ -259,6 +261,7 @@ files:
|
|
259
261
|
- lib/tracker_api/resources/story.rb
|
260
262
|
- lib/tracker_api/resources/task.rb
|
261
263
|
- lib/tracker_api/resources/time_zone.rb
|
264
|
+
- lib/tracker_api/resources/workspace.rb
|
262
265
|
- lib/tracker_api/version.rb
|
263
266
|
- lib/virtus/attribute/nullify_blank.rb
|
264
267
|
- lib/virtus/dirty_attribute.rb
|
@@ -278,6 +281,7 @@ files:
|
|
278
281
|
- test/vcr/cassettes/create_task.json
|
279
282
|
- test/vcr/cassettes/get_all_notifications.json
|
280
283
|
- test/vcr/cassettes/get_all_projects.json
|
284
|
+
- test/vcr/cassettes/get_all_workspaces.json
|
281
285
|
- test/vcr/cassettes/get_another_story.json
|
282
286
|
- test/vcr/cassettes/get_current_iteration.json
|
283
287
|
- test/vcr/cassettes/get_done_iterations.json
|
@@ -295,17 +299,21 @@ files:
|
|
295
299
|
- test/vcr/cassettes/get_story_activity.json
|
296
300
|
- test/vcr/cassettes/get_story_comments.json
|
297
301
|
- test/vcr/cassettes/get_story_owners.json
|
302
|
+
- test/vcr/cassettes/get_story_with_owners.json
|
298
303
|
- test/vcr/cassettes/get_story_with_tasks.json
|
299
304
|
- test/vcr/cassettes/get_tasks.json
|
300
305
|
- test/vcr/cassettes/get_tasks_for_story.json
|
301
306
|
- test/vcr/cassettes/get_tasks_when_stories_filtered.json
|
302
307
|
- test/vcr/cassettes/get_unscheduled_stories.json
|
303
308
|
- test/vcr/cassettes/get_unscheduled_story.json
|
309
|
+
- test/vcr/cassettes/get_workspace.json
|
310
|
+
- test/vcr/cassettes/get_workspace_projects.json
|
304
311
|
- test/vcr/cassettes/save_story.json
|
305
312
|
- test/vcr/cassettes/save_story_with_multiple_changes.json
|
306
313
|
- test/vcr/cassettes/save_story_with_new_label.json
|
307
314
|
- test/vcr/cassettes/save_task.json
|
308
315
|
- test/vcr/cassettes/update_story_to_create_activity.json
|
316
|
+
- test/workspace_test.rb
|
309
317
|
- tracker_api.gemspec
|
310
318
|
homepage: https://github.com/dashofcode/tracker_api
|
311
319
|
licenses:
|
@@ -347,6 +355,7 @@ test_files:
|
|
347
355
|
- test/vcr/cassettes/create_task.json
|
348
356
|
- test/vcr/cassettes/get_all_notifications.json
|
349
357
|
- test/vcr/cassettes/get_all_projects.json
|
358
|
+
- test/vcr/cassettes/get_all_workspaces.json
|
350
359
|
- test/vcr/cassettes/get_another_story.json
|
351
360
|
- test/vcr/cassettes/get_current_iteration.json
|
352
361
|
- test/vcr/cassettes/get_done_iterations.json
|
@@ -364,14 +373,18 @@ test_files:
|
|
364
373
|
- test/vcr/cassettes/get_story_activity.json
|
365
374
|
- test/vcr/cassettes/get_story_comments.json
|
366
375
|
- test/vcr/cassettes/get_story_owners.json
|
376
|
+
- test/vcr/cassettes/get_story_with_owners.json
|
367
377
|
- test/vcr/cassettes/get_story_with_tasks.json
|
368
378
|
- test/vcr/cassettes/get_tasks.json
|
369
379
|
- test/vcr/cassettes/get_tasks_for_story.json
|
370
380
|
- test/vcr/cassettes/get_tasks_when_stories_filtered.json
|
371
381
|
- test/vcr/cassettes/get_unscheduled_stories.json
|
372
382
|
- test/vcr/cassettes/get_unscheduled_story.json
|
383
|
+
- test/vcr/cassettes/get_workspace.json
|
384
|
+
- test/vcr/cassettes/get_workspace_projects.json
|
373
385
|
- test/vcr/cassettes/save_story.json
|
374
386
|
- test/vcr/cassettes/save_story_with_multiple_changes.json
|
375
387
|
- test/vcr/cassettes/save_story_with_new_label.json
|
376
388
|
- test/vcr/cassettes/save_task.json
|
377
389
|
- test/vcr/cassettes/update_story_to_create_activity.json
|
390
|
+
- test/workspace_test.rb
|