giant_bomb 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.1
data/giant_bomb.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{giant_bomb}
8
- s.version = "0.3.0"
8
+ s.version = "0.3.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jon Maddox"]
12
- s.date = %q{2009-10-27}
12
+ s.date = %q{2010-02-03}
13
13
  s.description = %q{Simple library to talkto the awesome GiantBomb data}
14
14
  s.email = %q{jon@fanzter.com}
15
15
  s.extra_rdoc_files = [
@@ -34,8 +34,10 @@ Gem::Specification.new do |s|
34
34
  "lib/giant_bomb/publisher.rb",
35
35
  "lib/giant_bomb/search.rb",
36
36
  "test/fixtures/get_info.json",
37
+ "test/fixtures/mega_man_x.json",
37
38
  "test/fixtures/search.json",
38
39
  "test/fixtures/sketchy_results.json",
40
+ "test/game_test.rb",
39
41
  "test/giant_bomb_test.rb",
40
42
  "test/test_helper.rb"
41
43
  ]
@@ -45,7 +47,8 @@ Gem::Specification.new do |s|
45
47
  s.rubygems_version = %q{1.3.5}
46
48
  s.summary = %q{Simple library to talk to the awesome GiantBomb data}
47
49
  s.test_files = [
48
- "test/giant_bomb_test.rb",
50
+ "test/game_test.rb",
51
+ "test/giant_bomb_test.rb",
49
52
  "test/test_helper.rb"
50
53
  ]
51
54
 
@@ -168,7 +168,7 @@ module HTTParty #:nodoc:
168
168
 
169
169
  # ===== Store objects in memory
170
170
  #
171
- Struct.new("Response", :code, :body, :headers) { def to_s; self.body; end }
171
+ Struct.new("IceboxResponse", :code, :body, :headers) { def to_s; self.body; end }
172
172
  class MemoryStore < AbstractStore
173
173
  def initialize(options={})
174
174
  super; @store = {}; self
@@ -0,0 +1,746 @@
1
+ {
2
+ "number_of_page_results": 1,
3
+ "status_code": 1,
4
+ "error": "OK",
5
+ "results": {
6
+ "site_detail_url": "http://www.giantbomb.com/mega-man-x/61-9463/",
7
+ "characters": [{
8
+ "api_detail_url": "http://api.giantbomb.com/character/292/",
9
+ "id": 292,
10
+ "name": "Dr. Light"
11
+ },
12
+ {
13
+ "api_detail_url": "http://api.giantbomb.com/character/1261/",
14
+ "id": 1261,
15
+ "name": "Zero"
16
+ },
17
+ {
18
+ "api_detail_url": "http://api.giantbomb.com/character/1595/",
19
+ "id": 1595,
20
+ "name": "Boomer Kuwanger"
21
+ },
22
+ {
23
+ "api_detail_url": "http://api.giantbomb.com/character/1596/",
24
+ "id": 1596,
25
+ "name": "Sting Chameleon"
26
+ },
27
+ {
28
+ "api_detail_url": "http://api.giantbomb.com/character/1599/",
29
+ "id": 1599,
30
+ "name": "Storm Eagle"
31
+ },
32
+ {
33
+ "api_detail_url": "http://api.giantbomb.com/character/1601/",
34
+ "id": 1601,
35
+ "name": "Armored Armadillo"
36
+ },
37
+ {
38
+ "api_detail_url": "http://api.giantbomb.com/character/1611/",
39
+ "id": 1611,
40
+ "name": "Flame Mammoth"
41
+ },
42
+ {
43
+ "api_detail_url": "http://api.giantbomb.com/character/1533/",
44
+ "id": 1533,
45
+ "name": "Launch Octopus"
46
+ },
47
+ {
48
+ "api_detail_url": "http://api.giantbomb.com/character/1538/",
49
+ "id": 1538,
50
+ "name": "Chill Penguin"
51
+ },
52
+ {
53
+ "api_detail_url": "http://api.giantbomb.com/character/1544/",
54
+ "id": 1544,
55
+ "name": "Spark Mandrill"
56
+ },
57
+ {
58
+ "api_detail_url": "http://api.giantbomb.com/character/1474/",
59
+ "id": 1474,
60
+ "name": "Mega Man X"
61
+ },
62
+ {
63
+ "api_detail_url": "http://api.giantbomb.com/character/1837/",
64
+ "id": 1837,
65
+ "name": "Sigma"
66
+ },
67
+ {
68
+ "api_detail_url": "http://api.giantbomb.com/character/5052/",
69
+ "id": 5052,
70
+ "name": "Vile"
71
+ }],
72
+ "videos": [],
73
+ "deck": "Mega Man X, the spiritual successor to Mega Man, starts his own new series of adventures in Mega Man X for the SNES.",
74
+ "image": {
75
+ "screen_url": "http://media.giantbomb.com/uploads/1/14169/610998-mmxbox_screen.jpg",
76
+ "small_url": "http://media.giantbomb.com/uploads/1/14169/610998-mmxbox_small.jpg",
77
+ "thumb_url": "http://media.giantbomb.com/uploads/1/14169/610998-mmxbox_thumb.jpg",
78
+ "tiny_url": "http://media.giantbomb.com/uploads/1/14169/610998-mmxbox_tiny.jpg",
79
+ "super_url": "http://media.giantbomb.com/uploads/1/14169/610998-mmxbox_super.jpg"
80
+ },
81
+ "locations": [{
82
+ "api_detail_url": "http://api.giantbomb.com/location/744/",
83
+ "id": 744,
84
+ "name": "Jungle"
85
+ },
86
+ {
87
+ "api_detail_url": "http://api.giantbomb.com/location/719/",
88
+ "id": 719,
89
+ "name": "Underwater"
90
+ },
91
+ {
92
+ "api_detail_url": "http://api.giantbomb.com/location/180/",
93
+ "id": 180,
94
+ "name": "Laboratory"
95
+ }],
96
+ "themes": [{
97
+ "api_detail_url": "http://api.giantbomb.com/theme/3/",
98
+ "id": 3,
99
+ "name": "Sci-Fi"
100
+ },
101
+ {
102
+ "api_detail_url": "http://api.giantbomb.com/theme/9/",
103
+ "id": 9,
104
+ "name": "Cyberpunk"
105
+ }],
106
+ "platforms": [{
107
+ "api_detail_url": "http://api.giantbomb.com/platform/9/",
108
+ "id": 9,
109
+ "name": "SNES"
110
+ },
111
+ {
112
+ "api_detail_url": "http://api.giantbomb.com/platform/94/",
113
+ "id": 94,
114
+ "name": "PC"
115
+ }],
116
+ "expected_release_month": null,
117
+ "similar_games": [{
118
+ "api_detail_url": "http://api.giantbomb.com/game/18309/",
119
+ "id": 18309,
120
+ "name": "Ratchet & Clank"
121
+ },
122
+ {
123
+ "api_detail_url": "http://api.giantbomb.com/game/21115/",
124
+ "id": 21115,
125
+ "name": "Ratchet & Clank Future: Quest for Booty"
126
+ },
127
+ {
128
+ "api_detail_url": "http://api.giantbomb.com/game/15212/",
129
+ "id": 15212,
130
+ "name": "Ratchet & Clank Future: Tools of Destruction"
131
+ },
132
+ {
133
+ "api_detail_url": "http://api.giantbomb.com/game/10384/",
134
+ "id": 10384,
135
+ "name": "Jak II"
136
+ },
137
+ {
138
+ "api_detail_url": "http://api.giantbomb.com/game/9669/",
139
+ "id": 9669,
140
+ "name": "Jak 3"
141
+ },
142
+ {
143
+ "api_detail_url": "http://api.giantbomb.com/game/3479/",
144
+ "id": 3479,
145
+ "name": "Keith Courage in Alpha Zones"
146
+ },
147
+ {
148
+ "api_detail_url": "http://api.giantbomb.com/game/8292/",
149
+ "id": 8292,
150
+ "name": "Super Metroid"
151
+ },
152
+ {
153
+ "api_detail_url": "http://api.giantbomb.com/game/8846/",
154
+ "id": 8846,
155
+ "name": "The Legend of Zelda: The Wind Waker / Metroid Prime"
156
+ },
157
+ {
158
+ "api_detail_url": "http://api.giantbomb.com/game/20124/",
159
+ "id": 20124,
160
+ "name": "Cave Story"
161
+ },
162
+ {
163
+ "api_detail_url": "http://api.giantbomb.com/game/4350/",
164
+ "id": 4350,
165
+ "name": "Contra"
166
+ },
167
+ {
168
+ "api_detail_url": "http://api.giantbomb.com/game/1257/",
169
+ "id": 1257,
170
+ "name": "Blaster Master"
171
+ },
172
+ {
173
+ "api_detail_url": "http://api.giantbomb.com/game/4237/",
174
+ "id": 4237,
175
+ "name": "Contra 4"
176
+ },
177
+ {
178
+ "api_detail_url": "http://api.giantbomb.com/game/20206/",
179
+ "id": 20206,
180
+ "name": "Mega Man: Wily Wars"
181
+ },
182
+ {
183
+ "api_detail_url": "http://api.giantbomb.com/game/12296/",
184
+ "id": 12296,
185
+ "name": "Metal Storm"
186
+ },
187
+ {
188
+ "api_detail_url": "http://api.giantbomb.com/game/18041/",
189
+ "id": 18041,
190
+ "name": "Turrican II: The Final Fight"
191
+ },
192
+ {
193
+ "api_detail_url": "http://api.giantbomb.com/game/8583/",
194
+ "id": 8583,
195
+ "name": "Metal Slug Advance"
196
+ },
197
+ {
198
+ "api_detail_url": "http://api.giantbomb.com/game/791/",
199
+ "id": 791,
200
+ "name": "Demon's Crest"
201
+ }],
202
+ "images": [{
203
+ "screen_url": "http://media.giantbomb.com/uploads/0/7538/468438-mega_man_x___version_1.1__us_000_screen.png",
204
+ "small_url": "http://media.giantbomb.com/uploads/0/7538/468438-mega_man_x___version_1.1__us_000_small.png",
205
+ "thumb_url": "http://media.giantbomb.com/uploads/0/7538/468438-mega_man_x___version_1.1__us_000_thumb.png",
206
+ "tiny_url": "http://media.giantbomb.com/uploads/0/7538/468438-mega_man_x___version_1.1__us_000_tiny.png",
207
+ "super_url": "http://media.giantbomb.com/uploads/0/7538/468438-mega_man_x___version_1.1__us_000_super.png"
208
+ },
209
+ {
210
+ "screen_url": "http://media.giantbomb.com/uploads/0/7538/468437-mega_man_x___version_1.1__us_001_screen.png",
211
+ "small_url": "http://media.giantbomb.com/uploads/0/7538/468437-mega_man_x___version_1.1__us_001_small.png",
212
+ "thumb_url": "http://media.giantbomb.com/uploads/0/7538/468437-mega_man_x___version_1.1__us_001_thumb.png",
213
+ "tiny_url": "http://media.giantbomb.com/uploads/0/7538/468437-mega_man_x___version_1.1__us_001_tiny.png",
214
+ "super_url": "http://media.giantbomb.com/uploads/0/7538/468437-mega_man_x___version_1.1__us_001_super.png"
215
+ },
216
+ {
217
+ "screen_url": "http://media.giantbomb.com/uploads/0/7538/463985-mega_man_x___version_1.1__us_014_screen.png",
218
+ "small_url": "http://media.giantbomb.com/uploads/0/7538/463985-mega_man_x___version_1.1__us_014_small.png",
219
+ "thumb_url": "http://media.giantbomb.com/uploads/0/7538/463985-mega_man_x___version_1.1__us_014_thumb.png",
220
+ "tiny_url": "http://media.giantbomb.com/uploads/0/7538/463985-mega_man_x___version_1.1__us_014_tiny.png",
221
+ "super_url": "http://media.giantbomb.com/uploads/0/7538/463985-mega_man_x___version_1.1__us_014_super.png"
222
+ },
223
+ {
224
+ "screen_url": "http://media.giantbomb.com/uploads/0/7538/463983-mega_man_x___version_1.1__us_013_screen.png",
225
+ "small_url": "http://media.giantbomb.com/uploads/0/7538/463983-mega_man_x___version_1.1__us_013_small.png",
226
+ "thumb_url": "http://media.giantbomb.com/uploads/0/7538/463983-mega_man_x___version_1.1__us_013_thumb.png",
227
+ "tiny_url": "http://media.giantbomb.com/uploads/0/7538/463983-mega_man_x___version_1.1__us_013_tiny.png",
228
+ "super_url": "http://media.giantbomb.com/uploads/0/7538/463983-mega_man_x___version_1.1__us_013_super.png"
229
+ },
230
+ {
231
+ "screen_url": "http://media.giantbomb.com/uploads/0/7538/463981-mega_man_x___version_1.1__us_012_screen.png",
232
+ "small_url": "http://media.giantbomb.com/uploads/0/7538/463981-mega_man_x___version_1.1__us_012_small.png",
233
+ "thumb_url": "http://media.giantbomb.com/uploads/0/7538/463981-mega_man_x___version_1.1__us_012_thumb.png",
234
+ "tiny_url": "http://media.giantbomb.com/uploads/0/7538/463981-mega_man_x___version_1.1__us_012_tiny.png",
235
+ "super_url": "http://media.giantbomb.com/uploads/0/7538/463981-mega_man_x___version_1.1__us_012_super.png"
236
+ },
237
+ {
238
+ "screen_url": "http://media.giantbomb.com/uploads/0/7538/463979-mega_man_x___version_1.1__us_011_screen.png",
239
+ "small_url": "http://media.giantbomb.com/uploads/0/7538/463979-mega_man_x___version_1.1__us_011_small.png",
240
+ "thumb_url": "http://media.giantbomb.com/uploads/0/7538/463979-mega_man_x___version_1.1__us_011_thumb.png",
241
+ "tiny_url": "http://media.giantbomb.com/uploads/0/7538/463979-mega_man_x___version_1.1__us_011_tiny.png",
242
+ "super_url": "http://media.giantbomb.com/uploads/0/7538/463979-mega_man_x___version_1.1__us_011_super.png"
243
+ },
244
+ {
245
+ "screen_url": "http://media.giantbomb.com/uploads/0/7538/463978-mega_man_x___version_1.1__us_010_screen.png",
246
+ "small_url": "http://media.giantbomb.com/uploads/0/7538/463978-mega_man_x___version_1.1__us_010_small.png",
247
+ "thumb_url": "http://media.giantbomb.com/uploads/0/7538/463978-mega_man_x___version_1.1__us_010_thumb.png",
248
+ "tiny_url": "http://media.giantbomb.com/uploads/0/7538/463978-mega_man_x___version_1.1__us_010_tiny.png",
249
+ "super_url": "http://media.giantbomb.com/uploads/0/7538/463978-mega_man_x___version_1.1__us_010_super.png"
250
+ },
251
+ {
252
+ "screen_url": "http://media.giantbomb.com/uploads/0/7538/463977-mega_man_x___version_1.1__us_009_screen.png",
253
+ "small_url": "http://media.giantbomb.com/uploads/0/7538/463977-mega_man_x___version_1.1__us_009_small.png",
254
+ "thumb_url": "http://media.giantbomb.com/uploads/0/7538/463977-mega_man_x___version_1.1__us_009_thumb.png",
255
+ "tiny_url": "http://media.giantbomb.com/uploads/0/7538/463977-mega_man_x___version_1.1__us_009_tiny.png",
256
+ "super_url": "http://media.giantbomb.com/uploads/0/7538/463977-mega_man_x___version_1.1__us_009_super.png"
257
+ },
258
+ {
259
+ "screen_url": "http://media.giantbomb.com/uploads/0/7538/463976-mega_man_x___version_1.1__us_008_screen.png",
260
+ "small_url": "http://media.giantbomb.com/uploads/0/7538/463976-mega_man_x___version_1.1__us_008_small.png",
261
+ "thumb_url": "http://media.giantbomb.com/uploads/0/7538/463976-mega_man_x___version_1.1__us_008_thumb.png",
262
+ "tiny_url": "http://media.giantbomb.com/uploads/0/7538/463976-mega_man_x___version_1.1__us_008_tiny.png",
263
+ "super_url": "http://media.giantbomb.com/uploads/0/7538/463976-mega_man_x___version_1.1__us_008_super.png"
264
+ },
265
+ {
266
+ "screen_url": "http://media.giantbomb.com/uploads/0/7538/463975-mega_man_x___version_1.1__us_007_screen.png",
267
+ "small_url": "http://media.giantbomb.com/uploads/0/7538/463975-mega_man_x___version_1.1__us_007_small.png",
268
+ "thumb_url": "http://media.giantbomb.com/uploads/0/7538/463975-mega_man_x___version_1.1__us_007_thumb.png",
269
+ "tiny_url": "http://media.giantbomb.com/uploads/0/7538/463975-mega_man_x___version_1.1__us_007_tiny.png",
270
+ "super_url": "http://media.giantbomb.com/uploads/0/7538/463975-mega_man_x___version_1.1__us_007_super.png"
271
+ }],
272
+ "id": 9463,
273
+ "aliases": "Rockman X",
274
+ "first_appearance_locations": [],
275
+ "genres": [{
276
+ "api_detail_url": "http://api.giantbomb.com/genre/1/",
277
+ "id": 1,
278
+ "name": "Action"
279
+ },
280
+ {
281
+ "api_detail_url": "http://api.giantbomb.com/genre/41/",
282
+ "id": 41,
283
+ "name": "Platformer"
284
+ },
285
+ {
286
+ "api_detail_url": "http://api.giantbomb.com/genre/4/",
287
+ "id": 4,
288
+ "name": "Adventure"
289
+ }],
290
+ "people": [{
291
+ "api_detail_url": "http://api.giantbomb.com/person/40316/",
292
+ "role": "Music",
293
+ "id": 40316,
294
+ "name": "Yuki Iwai"
295
+ },
296
+ {
297
+ "api_detail_url": "http://api.giantbomb.com/person/19465/",
298
+ "role": "Music",
299
+ "id": 19465,
300
+ "name": "Toshihiko Horiyama"
301
+ },
302
+ {
303
+ "api_detail_url": "http://api.giantbomb.com/person/19467/",
304
+ "role": "Designer",
305
+ "id": 19467,
306
+ "name": "Tokuro Fujiwara"
307
+ },
308
+ {
309
+ "api_detail_url": "http://api.giantbomb.com/person/19459/",
310
+ "role": "Designer",
311
+ "id": 19459,
312
+ "name": "Ikki Tazaki"
313
+ },
314
+ {
315
+ "api_detail_url": "http://api.giantbomb.com/person/19460/",
316
+ "role": "Designer",
317
+ "id": 19460,
318
+ "name": "Scr. Damashii"
319
+ },
320
+ {
321
+ "api_detail_url": "http://api.giantbomb.com/person/19461/",
322
+ "role": "Designer",
323
+ "id": 19461,
324
+ "name": "Yasuyo Kondou"
325
+ },
326
+ {
327
+ "api_detail_url": "http://api.giantbomb.com/person/19462/",
328
+ "role": "Music",
329
+ "id": 19462,
330
+ "name": "Setsuo Yamamoto"
331
+ },
332
+ {
333
+ "api_detail_url": "http://api.giantbomb.com/person/19463/",
334
+ "role": "Music",
335
+ "id": 19463,
336
+ "name": "Makoto Tomozawa"
337
+ },
338
+ {
339
+ "api_detail_url": "http://api.giantbomb.com/person/19464/",
340
+ "role": "Music",
341
+ "id": 19464,
342
+ "name": "Yuko Takehara"
343
+ }],
344
+ "original_release_date": "1993-12-17 00:00:00",
345
+ "first_appearance_characters": [{
346
+ "api_detail_url": "http://api.giantbomb.com/character/1261/",
347
+ "id": 1261,
348
+ "name": "Zero"
349
+ },
350
+ {
351
+ "api_detail_url": "http://api.giantbomb.com/character/1474/",
352
+ "id": 1474,
353
+ "name": "Mega Man X"
354
+ },
355
+ {
356
+ "api_detail_url": "http://api.giantbomb.com/character/1837/",
357
+ "id": 1837,
358
+ "name": "Sigma"
359
+ },
360
+ {
361
+ "api_detail_url": "http://api.giantbomb.com/character/5052/",
362
+ "id": 5052,
363
+ "name": "Vile"
364
+ },
365
+ {
366
+ "api_detail_url": "http://api.giantbomb.com/character/1601/",
367
+ "id": 1601,
368
+ "name": "Armored Armadillo"
369
+ },
370
+ {
371
+ "api_detail_url": "http://api.giantbomb.com/character/1544/",
372
+ "id": 1544,
373
+ "name": "Spark Mandrill"
374
+ },
375
+ {
376
+ "api_detail_url": "http://api.giantbomb.com/character/1533/",
377
+ "id": 1533,
378
+ "name": "Launch Octopus"
379
+ },
380
+ {
381
+ "api_detail_url": "http://api.giantbomb.com/character/1538/",
382
+ "id": 1538,
383
+ "name": "Chill Penguin"
384
+ },
385
+ {
386
+ "api_detail_url": "http://api.giantbomb.com/character/1599/",
387
+ "id": 1599,
388
+ "name": "Storm Eagle"
389
+ },
390
+ {
391
+ "api_detail_url": "http://api.giantbomb.com/character/1596/",
392
+ "id": 1596,
393
+ "name": "Sting Chameleon"
394
+ },
395
+ {
396
+ "api_detail_url": "http://api.giantbomb.com/character/1611/",
397
+ "id": 1611,
398
+ "name": "Flame Mammoth"
399
+ },
400
+ {
401
+ "api_detail_url": "http://api.giantbomb.com/character/1595/",
402
+ "id": 1595,
403
+ "name": "Boomer Kuwanger"
404
+ }],
405
+ "developers": [{
406
+ "api_detail_url": "http://api.giantbomb.com/company/367/",
407
+ "id": 367,
408
+ "name": "Capcom"
409
+ }],
410
+ "first_appearance_objects": [],
411
+ "expected_release_year": null,
412
+ "publishers": [{
413
+ "api_detail_url": "http://api.giantbomb.com/company/367/",
414
+ "id": 367,
415
+ "name": "Capcom"
416
+ }],
417
+ "date_last_updated": "2009-08-24 04:23:48",
418
+ "expected_release_quarter": null,
419
+ "first_appearance_people": [{
420
+ "api_detail_url": "http://api.giantbomb.com/person/40316/",
421
+ "id": 40316,
422
+ "name": "Yuki Iwai"
423
+ }],
424
+ "description": "<h3><br /></h3><h2>Overview</h2> The first installment of the <a href=\"http://www.giantbomb.com/mega-man-x/62-524/\"> Mega Man X</a> sub-series, this game introduced players to new mechanics such as dashing, wall-jumping, and finding hidden upgrades throughout the levels, something which would carry on and become an essential part of each X game to follow.&nbsp; Released 1993 by <a href=\"http://www.giantbomb.com/capcom/65-367/\"> Capcom</a> and later ported to the PC in 1995, it was later remade in 2005 for the PSP with the name <a href=\"/mega-man-maverick-hunter-x/61-11913/\"> Mega Man Maverick Hunter X</a>. The remake featured enhanced 3D character models and backgrounds, remixed music, some retuned level designs, and the ability to play as <a href=\"/vile/94-5052/\"> Vile</a>. This game was also included in the <a href=\"http://www.giantbomb.com/mega-man-x-collection/61-1483/\"> Mega Man X Collection</a> for the Nintendo Gamecube and PlayStation 2. The lead designers were <u> </u>both <a href=\"/tokuro-fujiwara/72-19467/\"> Tokuro Fujiwara</a> (Producer) and <a href=\"/keiji-inafune/72-35794/\"> Keiji Inafune</a> (Characters) and the head composer was <a href=\"/setsuo-yamamoto/72-19462/\"> Setsuo Yamamoto</a>.<br /><br /><h2>Gameplay</h2>Unlike the core <a href=\"/mega-man-classic/62-626/\"> Mega Man</a> series, the X games are much faster and more intense.&nbsp; From the moment you press start, the game has you <a href=\"/wall-jump/92-5/\"> wall jumping</a> for your life up onto destroyed highways crawling with angry Mavericks <div class=\"js-item-cage\" rel=\"image\" title=\"image\" id=\"965929\"><div class=\"wiki-img-right\"><div class=\"wiki-img-thumb\"><a href=\"http://media.giantbomb.com/uploads/0/7538/965929-248337_megaman_x_00038_super_super.jpg\" title=\"The opening highway stage.\"><img id=\"965929\" src=\"http://media.giantbomb.com/uploads/0/7538/965929-248337_megaman_x_00038_super_thumb.jpg\" alt=\"The opening highway stage.\" /></a><div class=\"item-caption p-4\">The opening highway stage.</div></div></div></div>only for you to end up fighting a <a href=\"/gundam/62-290/\"> mobile suit</a>ed Vile, who, for the first time in the franchise, is a boss that you cannot defeat. While there is a lot different, the structure of the game is similar: fight 8 boss Mavericks in any order, exploiting their weaknesses to defeat them more easily, and then go through a few final levels before you fight the final boss, <a href=\"/sigma/94-1837/\"> Sigma</a>. The levels consist of you running, dashing, jumping, and wall-kicking frantically to avoid many difficult obstacles and to find hidden <a href=\"/upgradeable-weapons/92-133/\"> Upgrade Capsules</a>. There are four capsules hidden throughout the game's 8 stages, with each one containing one of four body parts: arm, leg, torso, and head. Once you collect all four of them, and with enough skill, you will feel like an unstoppable badass. Once you reach the end of a level, you will be confronted by a boss robot that you must fight with everything you have to defeat it, and take it's weapon. It is worth noting that the bosses in this game are much more difficult and intelligent than those found in the classic Mega Man series. <br />&nbsp; <br /><h3>Upgrades </h3>Throughout the game if you are lucky you may stumble upon a large blue capsule that when approached will show you a hologram of Dr. Light, the guy who made you.&nbsp; Depending on which capsule you found,he will brief you on what the upgrade does and then give you the pleasure of stepping into the capsule. Here is a list of all the upgrades and the area that they are in.<br /><br /><b>Speed Boots </b><br />-These will give you the ability to dash.<br />Location-Chill Penguin's lair<br />Note: This is required to pass. <br /><br /><b>Body Armor </b><br />-Simply decreases the damage you take by half.<br />Location-Sting Chameleon's lair<br /><h3><div class=\"js-item-cage\" rel=\"image\" title=\"image\" id=\"965619\"><div class=\"wiki-img-right\"><div class=\"wiki-img-thumb\"><a href=\"http://media.giantbomb.com/uploads/0/4527/965619-479459_mega_man_x2014_super_super.png\" title=\"Upgrade Capsule\"><img id=\"965619\" src=\"http://media.giantbomb.com/uploads/0/4527/965619-479459_mega_man_x2014_super_thumb.png\" alt=\"Upgrade Capsule\" /></a><div class=\"item-caption p-4\">Upgrade Capsule</div></div></div></div></h3> <br /><b>Helmet </b><br />-Allows you to destroy certain blocks by headbutting them<br />Location-Storm Eagle's lair<br /><b><br />Charge&nbsp;</b> <br />-allows you to charge one stage higher to shoot multiple blasts<br />Location-Flame Mammoth's lair<br /><br /><b>Special/Secret </b><br />-If you have played <a href=\"../../street-fighter/61-1235/\" rel=\"nofollow\"> Street Fighter</a> then you will recognize this one. It is the <a href=\"../../hadouken/92-668/\" rel=\"nofollow\"> Hadouken</a> move. You fire large blue blasts out of your hands, which kills bosses in one hit. It is performed by simply performing the famed quarter-circle motion that you would do in any Street Fighter game.<br />Location: Armored Armadillo's lair at the end of the level before you enter the boss hallway. <br />Kill yourself three times, and then climb up onto the ledge above where the boss door is. A <a href=\"../../karate-gi/93-1906/\" rel=\"nofollow\"> Gi</a>-clad Dr. Light will congratulate you and you will get the upgrade.&nbsp; <h2>Bosses (Maverick Reploids)<br /></h2><h3>Chill Penguin <b><br /></b><div class=\"js-item-cage\" rel=\"image\" title=\"image\" id=\"965612\"><div class=\"wiki-img-right\"><div class=\"wiki-img-thumb\"><a href=\"http://media.giantbomb.com/uploads/0/4527/965612-mega_man_x_chill_penguin_title_super.png\" title=\"Chill Penguin\"><img id=\"965612\" src=\"http://media.giantbomb.com/uploads/0/4527/965612-mega_man_x_chill_penguin_title_thumb.png\" alt=\"Chill Penguin\" /></a><div class=\"item-caption p-4\">Chill Penguin</div></div></div></div></h3> <ul class=\"plain-list\"><li>Height: 5.34 ft</li> <li>Weight: 237 lbs</li> <li>Attacks: Shotgun Ice, Sliding</li> <li>Weakness: Fire Wave</li> </ul> <h3><br /></h3><h3>Storm Eagle</h3><ul class=\"plain-list\"><li>Height: 8.20 ft</li></ul><ul class=\"plain-list\"> <li>Weight: 275 lbs</li> <li>Attacks: Storm Tornado, Diving</li> <li>Weakness: Chameleon Sting</li> </ul> <br /><h3><div class=\"js-item-cage\" rel=\"image\" title=\"image\" id=\"965615\"><div class=\"wiki-img-right\"><div class=\"wiki-img-thumb\"><a href=\"http://media.giantbomb.com/uploads/0/4527/965615-mega_man_x_flame_mammoth_title_super.png\" title=\"Flame Mammoth\"><img id=\"965615\" src=\"http://media.giantbomb.com/uploads/0/4527/965615-mega_man_x_flame_mammoth_title_thumb.png\" alt=\"Flame Mammoth\" /></a><div class=\"item-caption p-4\">Flame Mammoth</div></div></div></div></h3><h3>Flame Mammoth</h3><ul class=\"plain-list\"><li>Height: 10.5 ft</li></ul><ul class=\"plain-list\"> <li>Weight: 719 lbs</li> <li>Attacks: Fire Wave, Oiling, Jump Press</li> <li>Weakness: Storm Tornado</li> </ul> <br /> Spark Mandrill<ul class=\"plain-list\"><li>Height: 10.0 ft</li> <li>Weight: 646 lbs</li> <li>Attacks: Electric Spark, Dash Punch</li> <li>Weakness: Shotgun Ice</li> </ul> <br /><h3><div class=\"js-item-cage\" rel=\"image\" title=\"image\" id=\"965616\"><div class=\"wiki-img-right\"><div class=\"wiki-img-thumb\"><a href=\"http://media.giantbomb.com/uploads/0/4527/965616-mega_man_x_armored_armadillo_title_super.png\" title=\"Armored Armadillo\"><img id=\"965616\" src=\"http://media.giantbomb.com/uploads/0/4527/965616-mega_man_x_armored_armadillo_title_thumb.png\" alt=\"Armored Armadillo\" /></a><div class=\"item-caption p-4\">Armored Armadillo</div></div></div></div></h3><h3>Armored Armadillo</h3><ul class=\"plain-list\"><li>Height: 6.36 ft</li> <li>Weight: 510 lbs</li> <li>Attacks: Rolling Shield, Guarding</li> <li>Weakness: Electric Spark</li> </ul> <br /><h3>Launch Octopus</h3><ul class=\"plain-list\"><li>Height: 7.80 ft</li> <li>Weight: 348 lbs</li> <li>Attacks: Homing Torpedo, Energy Drain</li> <li>Weakness: Rolling Shield (Boomerang Cutter can also cut off his tentacles, preventing him from using certain attacks)</li> </ul> <div class=\"js-item-cage\" rel=\"image\" title=\"image\" id=\"965617\"><div class=\"wiki-img-right\"><div class=\"wiki-img-thumb\"><a href=\"http://media.giantbomb.com/uploads/0/4527/965617-mega_man_x_boomer_kuwanger_title_super.png\" title=\"Boomer Kuwanger\"><img id=\"965617\" src=\"http://media.giantbomb.com/uploads/0/4527/965617-mega_man_x_boomer_kuwanger_title_thumb.png\" alt=\"Boomer Kuwanger\" /></a><div class=\"item-caption p-4\">Boomer Kuwanger</div></div></div></div><h3><br /></h3><h3>Boomer Kuwanger</h3><ul class=\"plain-list\"><li>Height: 7.93 ft</li> <li>Weight: 206 lbs</li> <li>Attacks: Boomerang Cutter, Dead Lift</li> <li>Weakness: Homing Torpedo</li> </ul> <br /><h3>Sting Chameleon</h3><ul class=\"plain-list\"><li>Height: 5.80 ft</li> <li>Weight: 169 lbs</li> <li>Attacks: Chameleon Sting, Iron Tongue</li> <li>Weakness: Boomerang Cutter</li> </ul>",
425
+ "releases": [{
426
+ "api_detail_url": "http://api.giantbomb.com/release/78836/",
427
+ "id": 78836,
428
+ "name": "Mega Man X"
429
+ },
430
+ {
431
+ "api_detail_url": "http://api.giantbomb.com/release/78834/",
432
+ "id": 78834,
433
+ "name": "Mega Man X"
434
+ },
435
+ {
436
+ "api_detail_url": "http://api.giantbomb.com/release/78835/",
437
+ "id": 78835,
438
+ "name": "Rockman X"
439
+ },
440
+ {
441
+ "api_detail_url": "http://api.giantbomb.com/release/76685/",
442
+ "id": 76685,
443
+ "name": "Mega Man X"
444
+ }],
445
+ "franchises": [{
446
+ "api_detail_url": "http://api.giantbomb.com/franchise/524/",
447
+ "id": 524,
448
+ "name": "Mega Man X"
449
+ },
450
+ {
451
+ "api_detail_url": "http://api.giantbomb.com/franchise/523/",
452
+ "id": 523,
453
+ "name": "Mega Man"
454
+ }],
455
+ "api_detail_url": "http://api.giantbomb.com/game/9463/",
456
+ "number_of_user_reviews": 2,
457
+ "objects": [{
458
+ "api_detail_url": "http://api.giantbomb.com/object/183/",
459
+ "id": 183,
460
+ "name": "Spikes"
461
+ },
462
+ {
463
+ "api_detail_url": "http://api.giantbomb.com/object/140/",
464
+ "id": 140,
465
+ "name": "Laser"
466
+ },
467
+ {
468
+ "api_detail_url": "http://api.giantbomb.com/object/518/",
469
+ "id": 518,
470
+ "name": "Mega Buster"
471
+ },
472
+ {
473
+ "api_detail_url": "http://api.giantbomb.com/object/70/",
474
+ "id": 70,
475
+ "name": "Lightsaber"
476
+ },
477
+ {
478
+ "api_detail_url": "http://api.giantbomb.com/object/1027/",
479
+ "id": 1027,
480
+ "name": "Charge Beam"
481
+ },
482
+ {
483
+ "api_detail_url": "http://api.giantbomb.com/object/737/",
484
+ "id": 737,
485
+ "name": "Helmet"
486
+ },
487
+ {
488
+ "api_detail_url": "http://api.giantbomb.com/object/230/",
489
+ "id": 230,
490
+ "name": "Robot"
491
+ },
492
+ {
493
+ "api_detail_url": "http://api.giantbomb.com/object/97/",
494
+ "id": 97,
495
+ "name": "Bomb"
496
+ },
497
+ {
498
+ "api_detail_url": "http://api.giantbomb.com/object/541/",
499
+ "id": 541,
500
+ "name": "Trip Mine"
501
+ },
502
+ {
503
+ "api_detail_url": "http://api.giantbomb.com/object/263/",
504
+ "id": 263,
505
+ "name": "Fish"
506
+ },
507
+ {
508
+ "api_detail_url": "http://api.giantbomb.com/object/77/",
509
+ "id": 77,
510
+ "name": "1-up"
511
+ },
512
+ {
513
+ "api_detail_url": "http://api.giantbomb.com/object/46/",
514
+ "id": 46,
515
+ "name": "Exoskeleton"
516
+ },
517
+ {
518
+ "api_detail_url": "http://api.giantbomb.com/object/120/",
519
+ "id": 120,
520
+ "name": "Fireball"
521
+ }],
522
+ "original_game_rating": null,
523
+ "date_added": "2008-04-01 15:50:35",
524
+ "first_appearance_concepts": [{
525
+ "api_detail_url": "http://api.giantbomb.com/concept/359/",
526
+ "id": 359,
527
+ "name": "Mavericks"
528
+ }],
529
+ "name": "Mega Man X",
530
+ "killed_characters": [],
531
+ "reviews": [],
532
+ "concepts": [{
533
+ "api_detail_url": "http://api.giantbomb.com/concept/38/",
534
+ "id": 38,
535
+ "name": "Password"
536
+ },
537
+ {
538
+ "api_detail_url": "http://api.giantbomb.com/concept/3/",
539
+ "id": 3,
540
+ "name": "Projectile"
541
+ },
542
+ {
543
+ "api_detail_url": "http://api.giantbomb.com/concept/2/",
544
+ "id": 2,
545
+ "name": "Easter Egg"
546
+ },
547
+ {
548
+ "api_detail_url": "http://api.giantbomb.com/concept/22/",
549
+ "id": 22,
550
+ "name": "Cutscene"
551
+ },
552
+ {
553
+ "api_detail_url": "http://api.giantbomb.com/concept/130/",
554
+ "id": 130,
555
+ "name": "Health"
556
+ },
557
+ {
558
+ "api_detail_url": "http://api.giantbomb.com/concept/178/",
559
+ "id": 178,
560
+ "name": "Level Selection"
561
+ },
562
+ {
563
+ "api_detail_url": "http://api.giantbomb.com/concept/299/",
564
+ "id": 299,
565
+ "name": "Side-Scrolling"
566
+ },
567
+ {
568
+ "api_detail_url": "http://api.giantbomb.com/concept/229/",
569
+ "id": 229,
570
+ "name": "Bosses"
571
+ },
572
+ {
573
+ "api_detail_url": "http://api.giantbomb.com/concept/359/",
574
+ "id": 359,
575
+ "name": "Mavericks"
576
+ },
577
+ {
578
+ "api_detail_url": "http://api.giantbomb.com/concept/404/",
579
+ "id": 404,
580
+ "name": "Lightning Manipulation"
581
+ },
582
+ {
583
+ "api_detail_url": "http://api.giantbomb.com/concept/725/",
584
+ "id": 725,
585
+ "name": "Death"
586
+ },
587
+ {
588
+ "api_detail_url": "http://api.giantbomb.com/concept/309/",
589
+ "id": 309,
590
+ "name": "Explosion"
591
+ },
592
+ {
593
+ "api_detail_url": "http://api.giantbomb.com/concept/739/",
594
+ "id": 739,
595
+ "name": "Arm Cannon"
596
+ },
597
+ {
598
+ "api_detail_url": "http://api.giantbomb.com/concept/1060/",
599
+ "id": 1060,
600
+ "name": "Charge"
601
+ },
602
+ {
603
+ "api_detail_url": "http://api.giantbomb.com/concept/545/",
604
+ "id": 545,
605
+ "name": "Forced Defeat"
606
+ },
607
+ {
608
+ "api_detail_url": "http://api.giantbomb.com/concept/1427/",
609
+ "id": 1427,
610
+ "name": "2D"
611
+ },
612
+ {
613
+ "api_detail_url": "http://api.giantbomb.com/concept/674/",
614
+ "id": 674,
615
+ "name": "Instant Kill"
616
+ },
617
+ {
618
+ "api_detail_url": "http://api.giantbomb.com/concept/1465/",
619
+ "id": 1465,
620
+ "name": "Boss Rush"
621
+ },
622
+ {
623
+ "api_detail_url": "http://api.giantbomb.com/concept/372/",
624
+ "id": 372,
625
+ "name": "Game Over"
626
+ },
627
+ {
628
+ "api_detail_url": "http://api.giantbomb.com/concept/1500/",
629
+ "id": 1500,
630
+ "name": "Attachments "
631
+ },
632
+ {
633
+ "api_detail_url": "http://api.giantbomb.com/concept/1570/",
634
+ "id": 1570,
635
+ "name": "Mascot"
636
+ },
637
+ {
638
+ "api_detail_url": "http://api.giantbomb.com/concept/1561/",
639
+ "id": 1561,
640
+ "name": "Boss Pattern"
641
+ },
642
+ {
643
+ "api_detail_url": "http://api.giantbomb.com/concept/740/",
644
+ "id": 740,
645
+ "name": "Instant Death"
646
+ },
647
+ {
648
+ "api_detail_url": "http://api.giantbomb.com/concept/841/",
649
+ "id": 841,
650
+ "name": "Recurring Boss"
651
+ },
652
+ {
653
+ "api_detail_url": "http://api.giantbomb.com/concept/683/",
654
+ "id": 683,
655
+ "name": "Unbeatable Bosses"
656
+ },
657
+ {
658
+ "api_detail_url": "http://api.giantbomb.com/concept/1688/",
659
+ "id": 1688,
660
+ "name": "Bats"
661
+ },
662
+ {
663
+ "api_detail_url": "http://api.giantbomb.com/concept/1806/",
664
+ "id": 1806,
665
+ "name": "Extra Life"
666
+ },
667
+ {
668
+ "api_detail_url": "http://api.giantbomb.com/concept/532/",
669
+ "id": 532,
670
+ "name": "Lava Stage"
671
+ },
672
+ {
673
+ "api_detail_url": "http://api.giantbomb.com/concept/1713/",
674
+ "id": 1713,
675
+ "name": "Water Level"
676
+ },
677
+ {
678
+ "api_detail_url": "http://api.giantbomb.com/concept/491/",
679
+ "id": 491,
680
+ "name": "Sprite"
681
+ },
682
+ {
683
+ "api_detail_url": "http://api.giantbomb.com/concept/2290/",
684
+ "id": 2290,
685
+ "name": "Dash"
686
+ },
687
+ {
688
+ "api_detail_url": "http://api.giantbomb.com/concept/968/",
689
+ "id": 968,
690
+ "name": "Player Character"
691
+ },
692
+ {
693
+ "api_detail_url": "http://api.giantbomb.com/concept/325/",
694
+ "id": 325,
695
+ "name": "Moving Platforms"
696
+ },
697
+ {
698
+ "api_detail_url": "http://api.giantbomb.com/concept/2076/",
699
+ "id": 2076,
700
+ "name": "Ice Stage"
701
+ },
702
+ {
703
+ "api_detail_url": "http://api.giantbomb.com/concept/133/",
704
+ "id": 133,
705
+ "name": "Upgradeable Weapons"
706
+ },
707
+ {
708
+ "api_detail_url": "http://api.giantbomb.com/concept/379/",
709
+ "id": 379,
710
+ "name": "Jump"
711
+ },
712
+ {
713
+ "api_detail_url": "http://api.giantbomb.com/concept/3742/",
714
+ "id": 3742,
715
+ "name": "Met"
716
+ },
717
+ {
718
+ "api_detail_url": "http://api.giantbomb.com/concept/3052/",
719
+ "id": 3052,
720
+ "name": "Nintendo Seal of Quality"
721
+ },
722
+ {
723
+ "api_detail_url": "http://api.giantbomb.com/concept/3780/",
724
+ "id": 3780,
725
+ "name": "Fish"
726
+ },
727
+ {
728
+ "api_detail_url": "http://api.giantbomb.com/concept/3627/",
729
+ "id": 3627,
730
+ "name": "Crushing Trap"
731
+ },
732
+ {
733
+ "api_detail_url": "http://api.giantbomb.com/concept/3530/",
734
+ "id": 3530,
735
+ "name": "Heroic Sacrifice"
736
+ },
737
+ {
738
+ "api_detail_url": "http://api.giantbomb.com/concept/1118/",
739
+ "id": 1118,
740
+ "name": "Underwater gameplay"
741
+ }]
742
+ },
743
+ "limit": 1,
744
+ "offset": 0,
745
+ "number_of_total_results": 1
746
+ }
data/test/game_test.rb ADDED
@@ -0,0 +1,98 @@
1
+ require 'test_helper'
2
+
3
+ class GiantBombTest < Test::Unit::TestCase
4
+
5
+ context 'GiantBomb' do
6
+ setup do
7
+ @gb = GiantBomb::Search.new("key")
8
+ end
9
+
10
+ context 'getting game' do
11
+ setup do
12
+ stub_get('/game/9463/?format=json&api_key=key', 'mega_man_x.json')
13
+ @game = @gb.get_game('9463')
14
+ end
15
+ context 'for a game' do
16
+
17
+ should "return a game" do
18
+ assert_equal GiantBomb::Game, @game.class
19
+ end
20
+
21
+ should "have a name" do
22
+ assert_equal 'Mega Man X', @game.name
23
+ end
24
+
25
+ should "have a deck" do
26
+ assert_not_nil @game.deck
27
+ end
28
+
29
+ should "have a description" do
30
+ assert_not_nil @game.deck
31
+ end
32
+
33
+ should "have parsed date_last_updated to be a real date" do
34
+ assert_equal Date, @game.date_last_updated.class
35
+ end
36
+
37
+ should "have parsed original_release_date to be a real date" do
38
+ assert_equal Date, @game.original_release_date.class
39
+ end
40
+
41
+ should "have parsed date_added to be a real date" do
42
+ assert_equal Date, @game.date_added.class
43
+ end
44
+
45
+ context 'with an image' do
46
+
47
+ should 'cover should be an alias to image' do
48
+ assert_equal @game.image, @game.cover
49
+ end
50
+
51
+ should 'have an image hash' do
52
+ assert_equal Hash, @game.image.class
53
+ end
54
+
55
+ should 'have multiple sizes for the image' do
56
+ assert_equal 5, @game.image.keys.size
57
+ end
58
+
59
+ should 'have these sizes with symbols for keys' do
60
+ assert_not_nil @game.image["super_url"]
61
+ assert_not_nil @game.image["small_url"]
62
+ assert_not_nil @game.image["thumb_url"]
63
+ assert_not_nil @game.image["tiny_url"]
64
+ assert_not_nil @game.image["screen_url"]
65
+ end
66
+ end
67
+
68
+ context 'lazy loaded attrs' do
69
+
70
+ should 'have a genres array' do
71
+ assert_equal Array, @game.genres.class
72
+ end
73
+
74
+ should 'have a developers array' do
75
+ assert_equal Array, @game.developers.class
76
+ end
77
+
78
+ should 'have a publishers array' do
79
+ assert_equal Array, @game.publishers.class
80
+ end
81
+
82
+ should 'have an images array' do
83
+ assert_equal Array, @game.images.class
84
+ end
85
+
86
+ should 'have an images array of hashes' do
87
+ assert_equal Hash, @game.images.first.class
88
+ end
89
+
90
+ end
91
+
92
+
93
+ end
94
+ end
95
+
96
+
97
+ end
98
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: giant_bomb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Maddox
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-27 00:00:00 -04:00
12
+ date: 2010-02-03 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -69,8 +69,10 @@ files:
69
69
  - lib/giant_bomb/publisher.rb
70
70
  - lib/giant_bomb/search.rb
71
71
  - test/fixtures/get_info.json
72
+ - test/fixtures/mega_man_x.json
72
73
  - test/fixtures/search.json
73
74
  - test/fixtures/sketchy_results.json
75
+ - test/game_test.rb
74
76
  - test/giant_bomb_test.rb
75
77
  - test/test_helper.rb
76
78
  has_rdoc: true
@@ -102,5 +104,6 @@ signing_key:
102
104
  specification_version: 3
103
105
  summary: Simple library to talk to the awesome GiantBomb data
104
106
  test_files:
107
+ - test/game_test.rb
105
108
  - test/giant_bomb_test.rb
106
109
  - test/test_helper.rb