scrumninja 0.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.
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ coverage
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format documentation
data/Changelog ADDED
File without changes
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in gem_template.gemspec
4
+ gemspec
5
+
data/Gemfile.lock ADDED
@@ -0,0 +1,43 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ scrumninja (0.1)
5
+ faraday_middleware (~> 0.6.0)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ addressable (2.2.6)
11
+ crack (0.1.8)
12
+ diff-lcs (1.1.2)
13
+ faraday (0.6.1)
14
+ addressable (~> 2.2.4)
15
+ multipart-post (~> 1.1.0)
16
+ rack (< 2, >= 1.1.0)
17
+ faraday_middleware (0.6.3)
18
+ faraday (~> 0.6.0)
19
+ hashie (1.0.0)
20
+ multi_xml (0.2.2)
21
+ multipart-post (1.1.2)
22
+ rack (1.3.0)
23
+ rspec (2.6.0)
24
+ rspec-core (~> 2.6.0)
25
+ rspec-expectations (~> 2.6.0)
26
+ rspec-mocks (~> 2.6.0)
27
+ rspec-core (2.6.4)
28
+ rspec-expectations (2.6.0)
29
+ diff-lcs (~> 1.1.2)
30
+ rspec-mocks (2.6.0)
31
+ webmock (1.6.4)
32
+ addressable (> 2.2.5, ~> 2.2)
33
+ crack (>= 0.1.7)
34
+
35
+ PLATFORMS
36
+ ruby
37
+
38
+ DEPENDENCIES
39
+ hashie (~> 1.0.0)
40
+ multi_xml (~> 0.2.0)
41
+ rspec (~> 2.6)
42
+ scrumninja!
43
+ webmock (~> 1.5)
data/LICENSE ADDED
File without changes
data/README ADDED
File without changes
@@ -0,0 +1,58 @@
1
+ require 'faraday_middleware'
2
+
3
+ module ScrumNinja
4
+ class Client
5
+ def initialize(key)
6
+ @api_key = key
7
+ end
8
+
9
+ def projects(options={})
10
+ response = get 'https://scrumninja.com/projects.xml', options
11
+ response.projects
12
+ end
13
+
14
+ def project_stories(project_id,options={})
15
+ response = get "http://scrumninja.com/projects/#{project_id}/stories.xml", options
16
+ response.stories
17
+ end
18
+
19
+ def project_backlog(project_id,options={})
20
+ response = get "http://scrumninja.com/projects/#{project_id}/backlog/index.xml", options
21
+ response.sprints
22
+ end
23
+
24
+ def project_card_wall(project_id,options={})
25
+ response = get "http://scrumninja.com/projects/#{project_id}/card_wall.xml", options
26
+ response.tasks
27
+ end
28
+
29
+ def story_tasks(story_id,options={})
30
+ response = get "http://scrumninja.com/stories/#{story_id}/tasks.xml", options
31
+ response.tasks
32
+ end
33
+
34
+ private
35
+
36
+ def connection
37
+ options = {
38
+ :headers => {'Accept' => 'application/xml'},
39
+ :ssl => {:verify => false}
40
+ }
41
+
42
+ Faraday::Connection.new(options) do |builder|
43
+ builder.use Faraday::Request::Multipart
44
+ builder.use Faraday::Response::Mashify
45
+ builder.use Faraday::Response::ParseXml
46
+ builder.adapter(Faraday.default_adapter)
47
+ end
48
+ end
49
+
50
+ def get(path,options)
51
+ options.merge!({:api_key => @api_key})
52
+ response = connection.get do |request|
53
+ request.url path, options
54
+ end
55
+ response.body
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,3 @@
1
+ module ScrumNinja
2
+ VERSION = "0.1"
3
+ end
data/lib/scrumninja.rb ADDED
@@ -0,0 +1,31 @@
1
+ require 'scrumninja/client'
2
+ require 'scrumninja/version'
3
+
4
+ module ScrumNinja
5
+ # Alias for FccReboot::Client.new
6
+ #
7
+ # @return [FccReboot::Client]
8
+ def self.client(options={})
9
+ ScrumNinja::Client.new(options)
10
+ end
11
+
12
+ def self.projects(api_key)
13
+ client(api_key).projects
14
+ end
15
+
16
+ def self.project_stories(api_key,project_id)
17
+ client(api_key).project_stories project_id
18
+ end
19
+
20
+ def self.project_backlog(api_key,project_id)
21
+ client(api_key).project_backlog project_id
22
+ end
23
+
24
+ def self.project_card_wall(api_key,project_id)
25
+ client(api_key).project_card_wall project_id
26
+ end
27
+
28
+ def self.story_tasks(api_key,story_id)
29
+ client(api_key).story_tasks story_id
30
+ end
31
+ end
@@ -0,0 +1,28 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "scrumninja/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "scrumninja"
7
+ s.version = ScrumNinja::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Javier Muniz"]
10
+ s.email = "javier@granicus.com"
11
+ s.summary = "Scrumninja API Wrapper"
12
+ s.homepage = "http://github.com/gov20cto/scrumninja"
13
+ s.description = "Wrapper for the Scrumninja backlog/sprint management tool."
14
+
15
+ s.rubyforge_project = "scrumninja"
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+
22
+ s.add_development_dependency('rspec', '~> 2.6')
23
+ s.add_development_dependency('webmock', '~> 1.5')
24
+ s.add_development_dependency('hashie', '~> 1.0.0')
25
+ s.add_development_dependency('multi_xml', '~> 0.2.0')
26
+
27
+ s.add_dependency('faraday_middleware', '~> 0.6.0')
28
+ end
@@ -0,0 +1,346 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <sprints type="array">
3
+ <sprint>
4
+ <stories type="array">
5
+ <story>
6
+ <accepted-on type="date" nil="true"></accepted-on>
7
+ <complexity>5</complexity>
8
+ <content>As a user, I want to reset my password in the event that I forget it so that I won't get locked out</content>
9
+ <created-at type="datetime">2011-06-09T12:02:26-07:00</created-at>
10
+ <created-by-user-id type="integer">8218</created-by-user-id>
11
+ <delivered-on type="date" nil="true"></delivered-on>
12
+ <id type="integer">139447</id>
13
+ <name>Reset Password</name>
14
+ <owner-user-id type="integer" nil="true"></owner-user-id>
15
+ <position type="float">2.0</position>
16
+ <rejection-reason nil="true"></rejection-reason>
17
+ <status>pending</status>
18
+ <story-collection-id type="integer">26247</story-collection-id>
19
+ <updated-at type="datetime">2011-06-09T12:02:26-07:00</updated-at>
20
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
21
+ <hours_remaining>6.0</hours_remaining>
22
+ <link href="http://scrumninja.com/projects/8991/stories/139447.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
23
+ <link href="http://scrumninja.com/stories/139447/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
24
+ </story>
25
+ </stories>
26
+ <date-start type="date">2011-06-23</date-start>
27
+ <number type="integer">1</number>
28
+ <date-finish type="date">2011-07-06</date-finish>
29
+ </sprint>
30
+ <sprint>
31
+ <stories type="array">
32
+ <story>
33
+ <accepted-on type="date" nil="true"></accepted-on>
34
+ <complexity>13</complexity>
35
+ <content>As a user, I want to write an article, so that I can share it with other users</content>
36
+ <created-at type="datetime">2011-06-09T12:02:26-07:00</created-at>
37
+ <created-by-user-id type="integer">8218</created-by-user-id>
38
+ <delivered-on type="date" nil="true"></delivered-on>
39
+ <id type="integer">139448</id>
40
+ <name>Create Article</name>
41
+ <owner-user-id type="integer" nil="true"></owner-user-id>
42
+ <position type="float">5.0</position>
43
+ <rejection-reason nil="true"></rejection-reason>
44
+ <status>pending</status>
45
+ <story-collection-id type="integer">26247</story-collection-id>
46
+ <updated-at type="datetime">2011-06-09T12:02:26-07:00</updated-at>
47
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
48
+ <hours_remaining>8.0</hours_remaining>
49
+ <link href="http://scrumninja.com/projects/8991/stories/139448.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
50
+ <link href="http://scrumninja.com/stories/139448/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
51
+ </story>
52
+ </stories>
53
+ <date-start type="date">2011-07-07</date-start>
54
+ <number type="integer">2</number>
55
+ <date-finish type="date">2011-07-20</date-finish>
56
+ </sprint>
57
+ <sprint>
58
+ <stories type="array">
59
+ <story>
60
+ <accepted-on type="date" nil="true"></accepted-on>
61
+ <complexity>8</complexity>
62
+ <content>As a user, I want to upload a photo, so that I can share it with other users</content>
63
+ <created-at type="datetime">2011-06-09T12:02:26-07:00</created-at>
64
+ <created-by-user-id type="integer">8218</created-by-user-id>
65
+ <delivered-on type="date" nil="true"></delivered-on>
66
+ <id type="integer">139449</id>
67
+ <name>Upload Photo</name>
68
+ <owner-user-id type="integer" nil="true"></owner-user-id>
69
+ <position type="float">6.0</position>
70
+ <rejection-reason nil="true"></rejection-reason>
71
+ <status>pending</status>
72
+ <story-collection-id type="integer">26247</story-collection-id>
73
+ <updated-at type="datetime">2011-06-09T12:02:26-07:00</updated-at>
74
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
75
+ <hours_remaining>8.0</hours_remaining>
76
+ <link href="http://scrumninja.com/projects/8991/stories/139449.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
77
+ <link href="http://scrumninja.com/stories/139449/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
78
+ </story>
79
+ </stories>
80
+ <date-start type="date">2011-07-21</date-start>
81
+ <number type="integer">3</number>
82
+ <date-finish type="date">2011-08-03</date-finish>
83
+ </sprint>
84
+ <sprint>
85
+ <stories type="array">
86
+ <story>
87
+ <accepted-on type="date" nil="true"></accepted-on>
88
+ <complexity>5</complexity>
89
+ <content>As a user, I want to browse other users' articles because I want to see content</content>
90
+ <created-at type="datetime">2011-06-09T12:02:26-07:00</created-at>
91
+ <created-by-user-id type="integer">8218</created-by-user-id>
92
+ <delivered-on type="date" nil="true"></delivered-on>
93
+ <id type="integer">139450</id>
94
+ <name>Browse Articles</name>
95
+ <owner-user-id type="integer" nil="true"></owner-user-id>
96
+ <position type="float">7.0</position>
97
+ <rejection-reason nil="true"></rejection-reason>
98
+ <status>pending</status>
99
+ <story-collection-id type="integer">26247</story-collection-id>
100
+ <updated-at type="datetime">2011-06-09T12:02:26-07:00</updated-at>
101
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
102
+ <hours_remaining>8.0</hours_remaining>
103
+ <link href="http://scrumninja.com/projects/8991/stories/139450.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
104
+ <link href="http://scrumninja.com/stories/139450/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
105
+ </story>
106
+ <story>
107
+ <accepted-on type="date" nil="true"></accepted-on>
108
+ <complexity>BUG</complexity>
109
+ <content nil="true"></content>
110
+ <created-at type="datetime">2011-06-09T12:02:27-07:00</created-at>
111
+ <created-by-user-id type="integer">8218</created-by-user-id>
112
+ <delivered-on type="date" nil="true"></delivered-on>
113
+ <id type="integer">139451</id>
114
+ <name>Fix Bugs</name>
115
+ <owner-user-id type="integer" nil="true"></owner-user-id>
116
+ <position type="float">8.0</position>
117
+ <rejection-reason nil="true"></rejection-reason>
118
+ <status>pending</status>
119
+ <story-collection-id type="integer">26247</story-collection-id>
120
+ <updated-at type="datetime">2011-06-09T12:02:27-07:00</updated-at>
121
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
122
+ <hours_remaining>2.0</hours_remaining>
123
+ <link href="http://scrumninja.com/projects/8991/stories/139451.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
124
+ <link href="http://scrumninja.com/stories/139451/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
125
+ </story>
126
+ </stories>
127
+ <date-start type="date">2011-08-04</date-start>
128
+ <number type="integer">4</number>
129
+ <date-finish type="date">2011-08-17</date-finish>
130
+ </sprint>
131
+ <sprint>
132
+ <stories type="array">
133
+ <story>
134
+ <accepted-on type="date" nil="true"></accepted-on>
135
+ <complexity>5</complexity>
136
+ <content>As a user, I want to browse other users' photos because I want to see content</content>
137
+ <created-at type="datetime">2011-06-09T12:02:27-07:00</created-at>
138
+ <created-by-user-id type="integer">8218</created-by-user-id>
139
+ <delivered-on type="date" nil="true"></delivered-on>
140
+ <id type="integer">139452</id>
141
+ <name>Browse Photos</name>
142
+ <owner-user-id type="integer" nil="true"></owner-user-id>
143
+ <position type="float">9.0</position>
144
+ <rejection-reason nil="true"></rejection-reason>
145
+ <status>pending</status>
146
+ <story-collection-id type="integer">26247</story-collection-id>
147
+ <updated-at type="datetime">2011-06-09T12:02:27-07:00</updated-at>
148
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
149
+ <hours_remaining>8.0</hours_remaining>
150
+ <link href="http://scrumninja.com/projects/8991/stories/139452.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
151
+ <link href="http://scrumninja.com/stories/139452/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
152
+ </story>
153
+ </stories>
154
+ <date-start type="date">2011-08-18</date-start>
155
+ <number type="integer">5</number>
156
+ <date-finish type="date">2011-08-31</date-finish>
157
+ </sprint>
158
+ <sprint>
159
+ <stories type="array">
160
+ <story>
161
+ <accepted-on type="date" nil="true"></accepted-on>
162
+ <complexity>5</complexity>
163
+ <content>As a user, I want to submit my profile so others with similar interests can find me</content>
164
+ <created-at type="datetime">2011-06-09T12:02:27-07:00</created-at>
165
+ <created-by-user-id type="integer">8218</created-by-user-id>
166
+ <delivered-on type="date" nil="true"></delivered-on>
167
+ <id type="integer">139453</id>
168
+ <name>User Profile</name>
169
+ <owner-user-id type="integer" nil="true"></owner-user-id>
170
+ <position type="float">10.0</position>
171
+ <rejection-reason nil="true"></rejection-reason>
172
+ <status>pending</status>
173
+ <story-collection-id type="integer">26247</story-collection-id>
174
+ <updated-at type="datetime">2011-06-09T12:02:27-07:00</updated-at>
175
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
176
+ <hours_remaining>8.0</hours_remaining>
177
+ <link href="http://scrumninja.com/projects/8991/stories/139453.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
178
+ <link href="http://scrumninja.com/stories/139453/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
179
+ </story>
180
+ <story>
181
+ <accepted-on type="date" nil="true"></accepted-on>
182
+ <complexity>3</complexity>
183
+ <content>As a user, I want to view other user's profiles so I can find users with similar interests</content>
184
+ <created-at type="datetime">2011-06-09T12:02:27-07:00</created-at>
185
+ <created-by-user-id type="integer">8218</created-by-user-id>
186
+ <delivered-on type="date" nil="true"></delivered-on>
187
+ <id type="integer">139454</id>
188
+ <name>Browse Profiles</name>
189
+ <owner-user-id type="integer" nil="true"></owner-user-id>
190
+ <position type="float">11.0</position>
191
+ <rejection-reason nil="true"></rejection-reason>
192
+ <status>pending</status>
193
+ <story-collection-id type="integer">26247</story-collection-id>
194
+ <updated-at type="datetime">2011-06-09T12:02:27-07:00</updated-at>
195
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
196
+ <hours_remaining>12.0</hours_remaining>
197
+ <link href="http://scrumninja.com/projects/8991/stories/139454.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
198
+ <link href="http://scrumninja.com/stories/139454/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
199
+ </story>
200
+ </stories>
201
+ <date-start type="date">2011-09-01</date-start>
202
+ <number type="integer">6</number>
203
+ <date-finish type="date">2011-09-14</date-finish>
204
+ </sprint>
205
+ <sprint>
206
+ <stories type="array">
207
+ <story>
208
+ <accepted-on type="date" nil="true"></accepted-on>
209
+ <complexity>3</complexity>
210
+ <content>As a user, I want to search other user's profiles so I can find users with similar interests</content>
211
+ <created-at type="datetime">2011-06-09T12:02:27-07:00</created-at>
212
+ <created-by-user-id type="integer">8218</created-by-user-id>
213
+ <delivered-on type="date" nil="true"></delivered-on>
214
+ <id type="integer">139455</id>
215
+ <name>Search Profiles</name>
216
+ <owner-user-id type="integer" nil="true"></owner-user-id>
217
+ <position type="float">12.0</position>
218
+ <rejection-reason nil="true"></rejection-reason>
219
+ <status>pending</status>
220
+ <story-collection-id type="integer">26247</story-collection-id>
221
+ <updated-at type="datetime">2011-06-09T12:02:27-07:00</updated-at>
222
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
223
+ <hours_remaining>12.0</hours_remaining>
224
+ <link href="http://scrumninja.com/projects/8991/stories/139455.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
225
+ <link href="http://scrumninja.com/stories/139455/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
226
+ </story>
227
+ <story>
228
+ <accepted-on type="date" nil="true"></accepted-on>
229
+ <complexity>3</complexity>
230
+ <content>As a user, I want to flag content that I deem inappropriate, so we can preserve a positive user experience</content>
231
+ <created-at type="datetime">2011-06-09T12:02:27-07:00</created-at>
232
+ <created-by-user-id type="integer">8218</created-by-user-id>
233
+ <delivered-on type="date" nil="true"></delivered-on>
234
+ <id type="integer">139456</id>
235
+ <name>Flagging</name>
236
+ <owner-user-id type="integer" nil="true"></owner-user-id>
237
+ <position type="float">13.0</position>
238
+ <rejection-reason nil="true"></rejection-reason>
239
+ <status>pending</status>
240
+ <story-collection-id type="integer">26247</story-collection-id>
241
+ <updated-at type="datetime">2011-06-09T12:02:27-07:00</updated-at>
242
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
243
+ <hours_remaining>7.0</hours_remaining>
244
+ <link href="http://scrumninja.com/projects/8991/stories/139456.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
245
+ <link href="http://scrumninja.com/stories/139456/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
246
+ </story>
247
+ </stories>
248
+ <date-start type="date">2011-09-15</date-start>
249
+ <number type="integer">7</number>
250
+ <date-finish type="date">2011-09-28</date-finish>
251
+ </sprint>
252
+ <sprint>
253
+ <stories type="array">
254
+ <story>
255
+ <accepted-on type="date" nil="true"></accepted-on>
256
+ <complexity>3</complexity>
257
+ <content>As an admin, I want to be able to see newly signed up users so that I can track system growth</content>
258
+ <created-at type="datetime">2011-06-09T12:02:28-07:00</created-at>
259
+ <created-by-user-id type="integer">8218</created-by-user-id>
260
+ <delivered-on type="date" nil="true"></delivered-on>
261
+ <id type="integer">139457</id>
262
+ <name>Track new signups</name>
263
+ <owner-user-id type="integer" nil="true"></owner-user-id>
264
+ <position type="float">14.0</position>
265
+ <rejection-reason nil="true"></rejection-reason>
266
+ <status>pending</status>
267
+ <story-collection-id type="integer">26247</story-collection-id>
268
+ <updated-at type="datetime">2011-06-09T12:02:28-07:00</updated-at>
269
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
270
+ <hours_remaining>0</hours_remaining>
271
+ <link href="http://scrumninja.com/projects/8991/stories/139457.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
272
+ <link href="http://scrumninja.com/stories/139457/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
273
+ </story>
274
+ <story>
275
+ <accepted-on type="date" nil="true"></accepted-on>
276
+ <complexity>5</complexity>
277
+ <content>As an admin, I want to view the flags on each piece of content so I can stay on top of spam </content>
278
+ <created-at type="datetime">2011-06-09T12:02:28-07:00</created-at>
279
+ <created-by-user-id type="integer">8218</created-by-user-id>
280
+ <delivered-on type="date" nil="true"></delivered-on>
281
+ <id type="integer">139458</id>
282
+ <name>Admin View Flagged Content</name>
283
+ <owner-user-id type="integer" nil="true"></owner-user-id>
284
+ <position type="float">15.0</position>
285
+ <rejection-reason nil="true"></rejection-reason>
286
+ <status>pending</status>
287
+ <story-collection-id type="integer">26247</story-collection-id>
288
+ <updated-at type="datetime">2011-06-09T12:02:28-07:00</updated-at>
289
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
290
+ <hours_remaining>0</hours_remaining>
291
+ <link href="http://scrumninja.com/projects/8991/stories/139458.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
292
+ <link href="http://scrumninja.com/stories/139458/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
293
+ </story>
294
+ </stories>
295
+ <date-start type="date">2011-09-29</date-start>
296
+ <number type="integer">8</number>
297
+ <date-finish type="date">2011-10-12</date-finish>
298
+ </sprint>
299
+ <sprint>
300
+ <stories type="array">
301
+ <story>
302
+ <accepted-on type="date" nil="true"></accepted-on>
303
+ <complexity>2</complexity>
304
+ <content>As an admin, I want to view the users by number of flags so I can see who is producing flagged content and ban them</content>
305
+ <created-at type="datetime">2011-06-09T12:02:28-07:00</created-at>
306
+ <created-by-user-id type="integer">8218</created-by-user-id>
307
+ <delivered-on type="date" nil="true"></delivered-on>
308
+ <id type="integer">139459</id>
309
+ <name>Admin View Flagged Users</name>
310
+ <owner-user-id type="integer" nil="true"></owner-user-id>
311
+ <position type="float">16.0</position>
312
+ <rejection-reason nil="true"></rejection-reason>
313
+ <status>pending</status>
314
+ <story-collection-id type="integer">26247</story-collection-id>
315
+ <updated-at type="datetime">2011-06-09T12:02:28-07:00</updated-at>
316
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
317
+ <hours_remaining>0</hours_remaining>
318
+ <link href="http://scrumninja.com/projects/8991/stories/139459.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
319
+ <link href="http://scrumninja.com/stories/139459/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
320
+ </story>
321
+ <story>
322
+ <accepted-on type="date" nil="true"></accepted-on>
323
+ <complexity>3</complexity>
324
+ <content>As an admin, I want to ban users with highly flagged content so I can preserve a positive user experience</content>
325
+ <created-at type="datetime">2011-06-09T12:02:28-07:00</created-at>
326
+ <created-by-user-id type="integer">8218</created-by-user-id>
327
+ <delivered-on type="date" nil="true"></delivered-on>
328
+ <id type="integer">139460</id>
329
+ <name>Admin Ban Users</name>
330
+ <owner-user-id type="integer" nil="true"></owner-user-id>
331
+ <position type="float">17.0</position>
332
+ <rejection-reason nil="true"></rejection-reason>
333
+ <status>pending</status>
334
+ <story-collection-id type="integer">26247</story-collection-id>
335
+ <updated-at type="datetime">2011-06-09T12:02:28-07:00</updated-at>
336
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
337
+ <hours_remaining>0</hours_remaining>
338
+ <link href="http://scrumninja.com/projects/8991/stories/139460.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
339
+ <link href="http://scrumninja.com/stories/139460/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
340
+ </story>
341
+ </stories>
342
+ <date-start type="date">2011-10-13</date-start>
343
+ <number type="integer">9</number>
344
+ <date-finish type="date">2011-10-26</date-finish>
345
+ </sprint>
346
+ </sprints>
@@ -0,0 +1,78 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <tasks type="array">
3
+ <task>
4
+ <assigned-to-user-id type="integer" nil="true"></assigned-to-user-id>
5
+ <blocked type="boolean">false</blocked>
6
+ <created-at type="datetime">2011-06-09T12:02:25-07:00</created-at>
7
+ <created-by-user-id type="integer">8218</created-by-user-id>
8
+ <done-at type="datetime" nil="true"></done-at>
9
+ <id type="integer">331729</id>
10
+ <name>configure database.yml</name>
11
+ <position type="float">1.0</position>
12
+ <started-at type="datetime" nil="true"></started-at>
13
+ <story-id type="integer">139444</story-id>
14
+ <task-status-id type="integer">23299</task-status-id>
15
+ <updated-at type="datetime">2011-06-09T12:02:25-07:00</updated-at>
16
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
17
+ <assigned-to-user-name></assigned-to-user-name>
18
+ <status>pending</status>
19
+ <estimates>
20
+ <estimate>
21
+ <date>2011-06-09</date>
22
+ <hours>0.5</hours>
23
+ </estimate>
24
+ </estimates>
25
+ <hours_remaining>0.5</hours_remaining>
26
+ <link href="http://scrumninja.com/stories/139444/tasks/331729.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
27
+ </task>
28
+ <task>
29
+ <assigned-to-user-id type="integer" nil="true"></assigned-to-user-id>
30
+ <blocked type="boolean">false</blocked>
31
+ <created-at type="datetime">2011-06-09T12:02:25-07:00</created-at>
32
+ <created-by-user-id type="integer">8218</created-by-user-id>
33
+ <done-at type="datetime" nil="true"></done-at>
34
+ <id type="integer">331730</id>
35
+ <name>create mysql database</name>
36
+ <position type="float">2.0</position>
37
+ <started-at type="datetime" nil="true"></started-at>
38
+ <story-id type="integer">139444</story-id>
39
+ <task-status-id type="integer">23299</task-status-id>
40
+ <updated-at type="datetime">2011-06-09T12:02:25-07:00</updated-at>
41
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
42
+ <assigned-to-user-name></assigned-to-user-name>
43
+ <status>pending</status>
44
+ <estimates>
45
+ <estimate>
46
+ <date>2011-06-09</date>
47
+ <hours>1.0</hours>
48
+ </estimate>
49
+ </estimates>
50
+ <hours_remaining>1.0</hours_remaining>
51
+ <link href="http://scrumninja.com/stories/139444/tasks/331730.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
52
+ </task>
53
+ <task>
54
+ <assigned-to-user-id type="integer" nil="true"></assigned-to-user-id>
55
+ <blocked type="boolean">false</blocked>
56
+ <created-at type="datetime">2011-06-09T12:02:25-07:00</created-at>
57
+ <created-by-user-id type="integer">8218</created-by-user-id>
58
+ <done-at type="datetime" nil="true"></done-at>
59
+ <id type="integer">331731</id>
60
+ <name>migration for user model</name>
61
+ <position type="float">3.0</position>
62
+ <started-at type="datetime" nil="true"></started-at>
63
+ <story-id type="integer">139444</story-id>
64
+ <task-status-id type="integer">23299</task-status-id>
65
+ <updated-at type="datetime">2011-06-09T12:02:25-07:00</updated-at>
66
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
67
+ <assigned-to-user-name></assigned-to-user-name>
68
+ <status>pending</status>
69
+ <estimates>
70
+ <estimate>
71
+ <date>2011-06-09</date>
72
+ <hours>1.0</hours>
73
+ </estimate>
74
+ </estimates>
75
+ <hours_remaining>1.0</hours_remaining>
76
+ <link href="http://scrumninja.com/stories/139444/tasks/331731.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
77
+ </task>
78
+ </tasks>
@@ -0,0 +1,17 @@
1
+ <projects type="array"><project><created-at type="datetime">2011-06-09T12:02:25-07:00</created-at><created-by-user-id type="integer">8218</created-by-user-id><future-by-average type="boolean">true</future-by-average><id type="integer">8991</id><name>Tutorial Project</name><numeric-complexities type="yaml">---
2
+ - "1"
3
+ - "2"
4
+ - "3"
5
+ - "5"
6
+ - "8"
7
+ - "13"
8
+ - "20"
9
+ - "40"
10
+ - "100"
11
+ </numeric-complexities><open-source-url nil="true"/><page-views type="integer">1</page-views><ssl type="boolean" nil="true"/><time-zone nil="true"/><total-page-views type="integer">0</total-page-views><track-only-story-points type="boolean">false</track-only-story-points><updated-at type="datetime">2011-06-09T12:02:40-07:00</updated-at><updated-by-user-id type="integer">8218</updated-by-user-id><work-days type="yaml">---
12
+ - 1
13
+ - 2
14
+ - 3
15
+ - 4
16
+ - 5
17
+ </work-days><link href="http://scrumninja.com/projects/8991.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/><link href="http://scrumninja.com/projects/8991/project_roles.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="project roles" rel="users"/><link href="http://scrumninja.com/projects/8991/stories.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="stories in current sprint" rel="stories"/><link type="text/plain" href="http://scrumninja.com/projects/8991/export?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="export" rel="self"/><link href="http://scrumninja.com/projects/8991/backlog/index.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="future stories" rel="stories"/><link href="http://scrumninja.com/projects/8991/sprints.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="sprint history" rel="sprints"/></project></projects>
@@ -0,0 +1,63 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <stories type="array">
3
+ <story>
4
+ <accepted-on type="date" nil="true"></accepted-on>
5
+ <complexity>CHORE</complexity>
6
+ <content nil="true"></content>
7
+ <created-at type="datetime">2011-06-09T12:02:25-07:00</created-at>
8
+ <created-by-user-id type="integer">8218</created-by-user-id>
9
+ <delivered-on type="date" nil="true"></delivered-on>
10
+ <id type="integer">139444</id>
11
+ <name>Infrastructure for project</name>
12
+ <owner-user-id type="integer" nil="true"></owner-user-id>
13
+ <position type="float">1.0</position>
14
+ <rejection-reason nil="true"></rejection-reason>
15
+ <status>pending</status>
16
+ <story-collection-id type="integer">26248</story-collection-id>
17
+ <updated-at type="datetime">2011-06-09T12:02:25-07:00</updated-at>
18
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
19
+ <hours_remaining>2.5</hours_remaining>
20
+ <link href="http://scrumninja.com/projects/8991/stories/139444.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
21
+ <link href="http://scrumninja.com/stories/139444/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
22
+ </story>
23
+ <story>
24
+ <accepted-on type="date" nil="true"></accepted-on>
25
+ <complexity>3</complexity>
26
+ <content>As a user, I want to register so that I can gain access to the system</content>
27
+ <created-at type="datetime">2011-06-09T12:02:25-07:00</created-at>
28
+ <created-by-user-id type="integer">8218</created-by-user-id>
29
+ <delivered-on type="date" nil="true"></delivered-on>
30
+ <id type="integer">139445</id>
31
+ <name>Signup</name>
32
+ <owner-user-id type="integer" nil="true"></owner-user-id>
33
+ <position type="float">3.0</position>
34
+ <rejection-reason nil="true"></rejection-reason>
35
+ <status>pending</status>
36
+ <story-collection-id type="integer">26248</story-collection-id>
37
+ <updated-at type="datetime">2011-06-09T12:02:25-07:00</updated-at>
38
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
39
+ <hours_remaining>12.0</hours_remaining>
40
+ <link href="http://scrumninja.com/projects/8991/stories/139445.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
41
+ <link href="http://scrumninja.com/stories/139445/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
42
+ </story>
43
+ <story>
44
+ <accepted-on type="date" nil="true"></accepted-on>
45
+ <complexity>3</complexity>
46
+ <content>As a user, I want to login so I can protect my info from the public eye </content>
47
+ <created-at type="datetime">2011-06-09T12:02:25-07:00</created-at>
48
+ <created-by-user-id type="integer">8218</created-by-user-id>
49
+ <delivered-on type="date" nil="true"></delivered-on>
50
+ <id type="integer">139446</id>
51
+ <name>Login Form</name>
52
+ <owner-user-id type="integer" nil="true"></owner-user-id>
53
+ <position type="float">4.0</position>
54
+ <rejection-reason nil="true"></rejection-reason>
55
+ <status>pending</status>
56
+ <story-collection-id type="integer">26248</story-collection-id>
57
+ <updated-at type="datetime">2011-06-09T12:02:25-07:00</updated-at>
58
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
59
+ <hours_remaining>5.0</hours_remaining>
60
+ <link href="http://scrumninja.com/projects/8991/stories/139446.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
61
+ <link href="http://scrumninja.com/stories/139446/tasks.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" rel="tasks"/>
62
+ </story>
63
+ </stories>
@@ -0,0 +1,78 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <tasks type="array">
3
+ <task>
4
+ <assigned-to-user-id type="integer" nil="true"></assigned-to-user-id>
5
+ <blocked type="boolean">false</blocked>
6
+ <created-at type="datetime">2011-06-09T12:02:25-07:00</created-at>
7
+ <created-by-user-id type="integer">8218</created-by-user-id>
8
+ <done-at type="datetime" nil="true"></done-at>
9
+ <id type="integer">331729</id>
10
+ <name>configure database.yml</name>
11
+ <position type="float">1.0</position>
12
+ <started-at type="datetime" nil="true"></started-at>
13
+ <story-id type="integer">139444</story-id>
14
+ <task-status-id type="integer">23299</task-status-id>
15
+ <updated-at type="datetime">2011-06-09T12:02:25-07:00</updated-at>
16
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
17
+ <assigned-to-user-name></assigned-to-user-name>
18
+ <status>pending</status>
19
+ <estimates>
20
+ <estimate>
21
+ <date>2011-06-09</date>
22
+ <hours>0.5</hours>
23
+ </estimate>
24
+ </estimates>
25
+ <hours_remaining>0.5</hours_remaining>
26
+ <link href="http://scrumninja.com/stories/139444/tasks/331729.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
27
+ </task>
28
+ <task>
29
+ <assigned-to-user-id type="integer" nil="true"></assigned-to-user-id>
30
+ <blocked type="boolean">false</blocked>
31
+ <created-at type="datetime">2011-06-09T12:02:25-07:00</created-at>
32
+ <created-by-user-id type="integer">8218</created-by-user-id>
33
+ <done-at type="datetime" nil="true"></done-at>
34
+ <id type="integer">331730</id>
35
+ <name>create mysql database</name>
36
+ <position type="float">2.0</position>
37
+ <started-at type="datetime" nil="true"></started-at>
38
+ <story-id type="integer">139444</story-id>
39
+ <task-status-id type="integer">23299</task-status-id>
40
+ <updated-at type="datetime">2011-06-09T12:02:25-07:00</updated-at>
41
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
42
+ <assigned-to-user-name></assigned-to-user-name>
43
+ <status>pending</status>
44
+ <estimates>
45
+ <estimate>
46
+ <date>2011-06-09</date>
47
+ <hours>1.0</hours>
48
+ </estimate>
49
+ </estimates>
50
+ <hours_remaining>1.0</hours_remaining>
51
+ <link href="http://scrumninja.com/stories/139444/tasks/331730.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
52
+ </task>
53
+ <task>
54
+ <assigned-to-user-id type="integer" nil="true"></assigned-to-user-id>
55
+ <blocked type="boolean">false</blocked>
56
+ <created-at type="datetime">2011-06-09T12:02:25-07:00</created-at>
57
+ <created-by-user-id type="integer">8218</created-by-user-id>
58
+ <done-at type="datetime" nil="true"></done-at>
59
+ <id type="integer">331731</id>
60
+ <name>migration for user model</name>
61
+ <position type="float">3.0</position>
62
+ <started-at type="datetime" nil="true"></started-at>
63
+ <story-id type="integer">139444</story-id>
64
+ <task-status-id type="integer">23299</task-status-id>
65
+ <updated-at type="datetime">2011-06-09T12:02:25-07:00</updated-at>
66
+ <updated-by-user-id type="integer">8218</updated-by-user-id>
67
+ <assigned-to-user-name></assigned-to-user-name>
68
+ <status>pending</status>
69
+ <estimates>
70
+ <estimate>
71
+ <date>2011-06-09</date>
72
+ <hours>1.0</hours>
73
+ </estimate>
74
+ </estimates>
75
+ <hours_remaining>1.0</hours_remaining>
76
+ <link href="http://scrumninja.com/stories/139444/tasks/331731.xml?api_key=a0d550405d37584fff59dd9e86cbe0cd88188e35" title="show" rel="self"/>
77
+ </task>
78
+ </tasks>
data/spec/helper.rb ADDED
@@ -0,0 +1,17 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'webmock'
4
+ require 'webmock/rspec'
5
+ require 'scrumninja'
6
+
7
+ RSpec.configure do |config|
8
+ config.include WebMock::API
9
+ end
10
+
11
+ def fixture_path
12
+ File.expand_path("../fixtures", __FILE__)
13
+ end
14
+
15
+ def fixture(file)
16
+ File.new(fixture_path + '/' + file)
17
+ end
@@ -0,0 +1,121 @@
1
+ require 'helper'
2
+
3
+ # Keep all the stuff that could change up here
4
+ API_KEY = "a0d550405d37584fff59dd9e86cbe0cd88188e35"
5
+ PROJECT_ID = 8991
6
+ STORY_ID = 139444
7
+
8
+ # The projects method
9
+ describe ScrumNinja, ".projects" do
10
+ before do
11
+ stub_request(:get, 'https://scrumninja.com/projects.xml').
12
+ with(:query => {:api_key => API_KEY}).
13
+ to_return(:body => fixture('projects.xml'), :headers => {'Content-Type' => 'application/xml; charset=utf-8'})
14
+ end
15
+
16
+ it "should request the correct resource" do
17
+ ScrumNinja.projects(API_KEY)
18
+ a_request(:get, 'https://scrumninja.com/projects.xml').
19
+ with(:query => {:api_key => API_KEY}).
20
+ should have_been_made
21
+ end
22
+
23
+ it "should return the correct results" do
24
+ projects = ScrumNinja.projects(API_KEY)
25
+ projects.should be_an Array
26
+ projects[0].name.should == "Tutorial Project"
27
+ puts projects[0].link
28
+ end
29
+ end
30
+
31
+ # The project_stories method
32
+ describe ScrumNinja, ".project_stories" do
33
+ before do
34
+ stub_request(:get, "http://scrumninja.com/projects/#{PROJECT_ID}/stories.xml").
35
+ with(:query => {:api_key => API_KEY}).
36
+ to_return(:body => fixture('stories.xml'), :headers => {'Content-Type' => 'application/xml; charset=utf-8'})
37
+ end
38
+
39
+ it "should request the correct resource" do
40
+ ScrumNinja.project_stories(API_KEY,PROJECT_ID)
41
+ a_request(:get, "http://scrumninja.com/projects/#{PROJECT_ID}/stories.xml").
42
+ with(:query => {:api_key => API_KEY}).
43
+ should have_been_made
44
+ end
45
+
46
+ it "should return the correct results" do
47
+ stories = ScrumNinja.project_stories(API_KEY,PROJECT_ID)
48
+ stories.should be_an Array
49
+ stories[0].name.should == "Infrastructure for project"
50
+ puts stories[0].link
51
+ end
52
+ end
53
+
54
+ # The project_backlog method
55
+ describe ScrumNinja, ".project_backlog" do
56
+ before do
57
+ stub_request(:get, "http://scrumninja.com/projects/#{PROJECT_ID}/backlog/index.xml").
58
+ with(:query => {:api_key => API_KEY}).
59
+ to_return(:body => fixture('backlog.xml'), :headers => {'Content-Type' => 'application/xml; charset=utf-8'})
60
+ end
61
+
62
+ it "should request the correct resource" do
63
+ ScrumNinja.project_backlog(API_KEY,PROJECT_ID)
64
+ a_request(:get, "http://scrumninja.com/projects/#{PROJECT_ID}/backlog/index.xml").
65
+ with(:query => {:api_key => API_KEY}).
66
+ should have_been_made
67
+ end
68
+
69
+ it "should return the correct results" do
70
+ sprints = ScrumNinja.project_backlog(API_KEY,PROJECT_ID)
71
+ sprints.should be_an Array
72
+ sprints[0].stories[0].name.should == "Reset Password"
73
+ puts sprints[0].stories[0].link
74
+ end
75
+ end
76
+
77
+ # The project_card_wall method
78
+ describe ScrumNinja, ".project_card_wall" do
79
+ before do
80
+ stub_request(:get, "http://scrumninja.com/projects/#{PROJECT_ID}/card_wall.xml").
81
+ with(:query => {:api_key => API_KEY}).
82
+ to_return(:body => fixture('card_wall.xml'), :headers => {'Content-Type' => 'application/xml; charset=utf-8'})
83
+ end
84
+
85
+ it "should request the correct resource" do
86
+ ScrumNinja.project_card_wall(API_KEY,PROJECT_ID)
87
+ a_request(:get, "http://scrumninja.com/projects/#{PROJECT_ID}/card_wall.xml").
88
+ with(:query => {:api_key => API_KEY}).
89
+ should have_been_made
90
+ end
91
+
92
+ it "should return the correct results" do
93
+ tasks = ScrumNinja.project_card_wall(API_KEY,PROJECT_ID)
94
+ tasks.should be_an Array
95
+ tasks[0].name.should == "configure database.yml"
96
+ puts tasks[0].link
97
+ end
98
+ end
99
+
100
+ # The story_tasks method
101
+ describe ScrumNinja, ".story_tasks" do
102
+ before do
103
+ stub_request(:get, "http://scrumninja.com/stories/#{STORY_ID}/tasks.xml").
104
+ with(:query => {:api_key => API_KEY}).
105
+ to_return(:body => fixture('tasks.xml'), :headers => {'Content-Type' => 'application/xml; charset=utf-8'})
106
+ end
107
+
108
+ it "should request the correct resource" do
109
+ ScrumNinja.story_tasks(API_KEY,STORY_ID)
110
+ a_request(:get, "http://scrumninja.com/stories/#{STORY_ID}/tasks.xml").
111
+ with(:query => {:api_key => API_KEY}).
112
+ should have_been_made
113
+ end
114
+
115
+ it "should return the correct results" do
116
+ tasks = ScrumNinja.story_tasks(API_KEY,STORY_ID)
117
+ tasks.should be_an Array
118
+ tasks[0].name.should == "configure database.yml"
119
+ puts tasks[0].link
120
+ end
121
+ end
metadata ADDED
@@ -0,0 +1,124 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: scrumninja
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Javier Muniz
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-06-09 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: &2165695280 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '2.6'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *2165695280
25
+ - !ruby/object:Gem::Dependency
26
+ name: webmock
27
+ requirement: &2165694780 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '1.5'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *2165694780
36
+ - !ruby/object:Gem::Dependency
37
+ name: hashie
38
+ requirement: &2165694320 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 1.0.0
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *2165694320
47
+ - !ruby/object:Gem::Dependency
48
+ name: multi_xml
49
+ requirement: &2152535440 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 0.2.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *2152535440
58
+ - !ruby/object:Gem::Dependency
59
+ name: faraday_middleware
60
+ requirement: &2152534980 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: 0.6.0
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *2152534980
69
+ description: Wrapper for the Scrumninja backlog/sprint management tool.
70
+ email: javier@granicus.com
71
+ executables: []
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - .gitignore
76
+ - .rspec
77
+ - Changelog
78
+ - Gemfile
79
+ - Gemfile.lock
80
+ - LICENSE
81
+ - README
82
+ - lib/scrumninja.rb
83
+ - lib/scrumninja/client.rb
84
+ - lib/scrumninja/version.rb
85
+ - scrumninja.gemspec
86
+ - spec/fixtures/backlog.xml
87
+ - spec/fixtures/card_wall.xml
88
+ - spec/fixtures/projects.xml
89
+ - spec/fixtures/stories.xml
90
+ - spec/fixtures/tasks.xml
91
+ - spec/helper.rb
92
+ - spec/scrumninja_spec.rb
93
+ homepage: http://github.com/gov20cto/scrumninja
94
+ licenses: []
95
+ post_install_message:
96
+ rdoc_options: []
97
+ require_paths:
98
+ - lib
99
+ required_ruby_version: !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ! '>='
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ required_rubygems_version: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ requirements: []
112
+ rubyforge_project: scrumninja
113
+ rubygems_version: 1.8.5
114
+ signing_key:
115
+ specification_version: 3
116
+ summary: Scrumninja API Wrapper
117
+ test_files:
118
+ - spec/fixtures/backlog.xml
119
+ - spec/fixtures/card_wall.xml
120
+ - spec/fixtures/projects.xml
121
+ - spec/fixtures/stories.xml
122
+ - spec/fixtures/tasks.xml
123
+ - spec/helper.rb
124
+ - spec/scrumninja_spec.rb