tracker_api 1.1.1 → 1.2.1
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.
- 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
|