marvel_api 0.2.0 → 0.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.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.document +1 -1
  3. data/.rspec +2 -1
  4. data/.travis.yml +8 -0
  5. data/Gemfile +11 -4
  6. data/Guardfile +5 -0
  7. data/LICENSE.txt +1 -1
  8. data/README.md +16 -4
  9. data/Rakefile +11 -8
  10. data/lib/marvel/client.rb +6 -14
  11. data/lib/marvel/connection.rb +10 -2
  12. data/lib/marvel/error.rb +16 -0
  13. data/lib/marvel/request.rb +22 -8
  14. data/lib/marvel/response.rb +21 -0
  15. data/lib/marvel/version.rb +14 -0
  16. data/marvel_api.gemspec +75 -18
  17. data/spec/fixtures/characters/character.json +341 -0
  18. data/spec/fixtures/characters/character_comics.json +4975 -0
  19. data/spec/fixtures/characters/character_events.json +1666 -0
  20. data/spec/fixtures/characters/character_series.json +6117 -0
  21. data/spec/fixtures/characters/character_stories.json +1873 -0
  22. data/spec/fixtures/characters/characters.json +3006 -0
  23. data/spec/fixtures/comics/comic.json +359 -0
  24. data/spec/fixtures/comics/comic_characters.json +4649 -0
  25. data/spec/fixtures/comics/comic_creators.json +4387 -0
  26. data/spec/fixtures/comics/comic_events.json +522 -0
  27. data/spec/fixtures/comics/comic_stories.json +1985 -0
  28. data/spec/fixtures/comics/comics.json +2246 -0
  29. data/spec/fixtures/creators/creator.json +340 -0
  30. data/spec/fixtures/creators/creator_comics.json +2856 -0
  31. data/spec/fixtures/creators/creator_events.json +1899 -0
  32. data/spec/fixtures/creators/creator_series.json +4686 -0
  33. data/spec/fixtures/creators/creator_stories.json +1491 -0
  34. data/spec/fixtures/creators/creators.json +1376 -0
  35. data/spec/fixtures/errors/empty_parameter.json +4 -0
  36. data/spec/fixtures/errors/excessive_filter_values.json +4 -0
  37. data/spec/fixtures/errors/invalid_credentials.json +4 -0
  38. data/spec/fixtures/errors/invalid_filter_value.json +4 -0
  39. data/spec/fixtures/errors/invalid_hash_ts_key_combo.json +4 -0
  40. data/spec/fixtures/errors/invalid_ordering.json +4 -0
  41. data/spec/fixtures/errors/invalid_parameter.json +4 -0
  42. data/spec/fixtures/errors/limit_invalid.json +4 -0
  43. data/spec/fixtures/errors/limit_over_100.json +4 -0
  44. data/spec/fixtures/errors/resource_not_found.json +4 -0
  45. data/spec/fixtures/events/event.json +522 -0
  46. data/spec/fixtures/events/event_characters.json +6397 -0
  47. data/spec/fixtures/events/event_comics.json +4718 -0
  48. data/spec/fixtures/events/event_creators.json +5869 -0
  49. data/spec/fixtures/events/event_series.json +2243 -0
  50. data/spec/fixtures/events/event_stories.json +4846 -0
  51. data/spec/fixtures/events/events.json +8613 -0
  52. data/spec/fixtures/series/serie.json +448 -0
  53. data/spec/fixtures/series/series.json +3464 -0
  54. data/spec/fixtures/series/series_characters.json +6029 -0
  55. data/spec/fixtures/series/series_comics.json +2935 -0
  56. data/spec/fixtures/series/series_creators.json +5923 -0
  57. data/spec/fixtures/series/series_events.json +944 -0
  58. data/spec/fixtures/series/series_stories.json +1544 -0
  59. data/spec/fixtures/stories/stories.json +1282 -0
  60. data/spec/fixtures/stories/story.json +117 -0
  61. data/spec/fixtures/stories/story_characters.json +794 -0
  62. data/spec/fixtures/stories/story_comics.json +522 -0
  63. data/spec/fixtures/stories/story_creators.json +1672 -0
  64. data/spec/fixtures/stories/story_events.json +522 -0
  65. data/spec/fixtures/stories/story_series.json +695 -0
  66. data/spec/marvel_api/client/client_character_spec.rb +142 -0
  67. data/spec/marvel_api/client/client_comic_spec.rb +141 -0
  68. data/spec/marvel_api/client/client_creator_spec.rb +139 -0
  69. data/spec/marvel_api/client/client_event_spec.rb +163 -0
  70. data/spec/marvel_api/client/client_series_spec.rb +165 -0
  71. data/spec/marvel_api/client/client_story_spec.rb +162 -0
  72. data/spec/marvel_api/error_spec.rb +192 -0
  73. data/spec/marvel_api_spec.rb +15 -3
  74. data/spec/spec_helper.rb +55 -4
  75. metadata +83 -27
  76. data/VERSION +0 -1
  77. data/spec/marvel_api/client_spec.rb +0 -7
@@ -0,0 +1,117 @@
1
+ {
2
+ "code": 200,
3
+ "status": "Ok",
4
+ "copyright": "© 2014 MARVEL",
5
+ "attributionText": "Data provided by Marvel. © 2014 MARVEL",
6
+ "attributionHTML": "<a href=\"http://marvel.com\">Data provided by Marvel. © 2014 MARVEL</a>",
7
+ "etag": "0bd91367d5d333d7fe2a77c74cc28c0102423029",
8
+ "data": {
9
+ "offset": 0,
10
+ "limit": 20,
11
+ "total": 1,
12
+ "count": 1,
13
+ "results": [
14
+ {
15
+ "id": 2209,
16
+ "title": "1 of 3 - House of M",
17
+ "description": "",
18
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/2209",
19
+ "type": "story",
20
+ "modified": "1969-12-31T19:00:00-0500",
21
+ "thumbnail": null,
22
+ "creators": {
23
+ "available": 5,
24
+ "collectionURI": "http://gateway.marvel.com/v1/public/stories/2209/creators",
25
+ "items": [
26
+ {
27
+ "resourceURI": "http://gateway.marvel.com/v1/public/creators/8635",
28
+ "name": "Randy Gentile",
29
+ "role": "letterer"
30
+ },
31
+ {
32
+ "resourceURI": "http://gateway.marvel.com/v1/public/creators/479",
33
+ "name": "Paul Mounts",
34
+ "role": "colorist"
35
+ },
36
+ {
37
+ "resourceURI": "http://gateway.marvel.com/v1/public/creators/641",
38
+ "name": "Javier Saltares",
39
+ "role": "penciller"
40
+ },
41
+ {
42
+ "resourceURI": "http://gateway.marvel.com/v1/public/creators/11501",
43
+ "name": "Mark Texeira",
44
+ "role": "inker"
45
+ },
46
+ {
47
+ "resourceURI": "http://gateway.marvel.com/v1/public/creators/344",
48
+ "name": "Daniel Way",
49
+ "role": "writer"
50
+ }
51
+ ],
52
+ "returned": 5
53
+ },
54
+ "characters": {
55
+ "available": 2,
56
+ "collectionURI": "http://gateway.marvel.com/v1/public/stories/2209/characters",
57
+ "items": [
58
+ {
59
+ "resourceURI": "http://gateway.marvel.com/v1/public/characters/1009368",
60
+ "name": "Iron Man"
61
+ },
62
+ {
63
+ "resourceURI": "http://gateway.marvel.com/v1/public/characters/1009718",
64
+ "name": "Wolverine"
65
+ }
66
+ ],
67
+ "returned": 2
68
+ },
69
+ "series": {
70
+ "available": 2,
71
+ "collectionURI": "http://gateway.marvel.com/v1/public/stories/2209/series",
72
+ "items": [
73
+ {
74
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/1614",
75
+ "name": "House of M: World of M (2006)"
76
+ },
77
+ {
78
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/632",
79
+ "name": "Wolverine (2003 - 2009)"
80
+ }
81
+ ],
82
+ "returned": 2
83
+ },
84
+ "comics": {
85
+ "available": 2,
86
+ "collectionURI": "http://gateway.marvel.com/v1/public/stories/2209/comics",
87
+ "items": [
88
+ {
89
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/3512",
90
+ "name": "House of M: World of M (Trade Paperback)"
91
+ },
92
+ {
93
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/2520",
94
+ "name": "Wolverine (2003) #33"
95
+ }
96
+ ],
97
+ "returned": 2
98
+ },
99
+ "events": {
100
+ "available": 1,
101
+ "collectionURI": "http://gateway.marvel.com/v1/public/stories/2209/events",
102
+ "items": [
103
+ {
104
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/251",
105
+ "name": "House of M"
106
+ }
107
+ ],
108
+ "returned": 1
109
+ },
110
+ "originalIssue": {
111
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/2520",
112
+ "name": "Wolverine (2003) #33"
113
+ }
114
+ }
115
+ ]
116
+ }
117
+ }
@@ -0,0 +1,794 @@
1
+ {
2
+ "code": 200,
3
+ "status": "Ok",
4
+ "copyright": "© 2014 MARVEL",
5
+ "attributionText": "Data provided by Marvel. © 2014 MARVEL",
6
+ "attributionHTML": "<a href=\"http://marvel.com\">Data provided by Marvel. © 2014 MARVEL</a>",
7
+ "etag": "b628084339be2bdbc102cd8ae7f3feae084ade21",
8
+ "data": {
9
+ "offset": 0,
10
+ "limit": 20,
11
+ "total": 2,
12
+ "count": 2,
13
+ "results": [
14
+ {
15
+ "id": 1009368,
16
+ "name": "Iron Man",
17
+ "description": "Wounded, captured and forced to build a weapon by his enemies, billionaire industrialist Tony Stark instead created an advanced suit of armor to save his life and escape captivity. Now with a new outlook on life, Tony uses his money and intelligence to make the world a safer, better place as Iron Man.",
18
+ "modified": "2013-11-07T10:55:38-0500",
19
+ "thumbnail": {
20
+ "path": "http://i.annihil.us/u/prod/marvel/i/mg/9/c0/527bb7b37ff55",
21
+ "extension": "jpg"
22
+ },
23
+ "resourceURI": "http://gateway.marvel.com/v1/public/characters/1009368",
24
+ "comics": {
25
+ "available": 2027,
26
+ "collectionURI": "http://gateway.marvel.com/v1/public/characters/1009368/comics",
27
+ "items": [
28
+ {
29
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/24348",
30
+ "name": "Adam: Legend of the Blue Marvel (Trade Paperback)"
31
+ },
32
+ {
33
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/22461",
34
+ "name": "Adam: Legend of the Blue Marvel (2008) #1"
35
+ },
36
+ {
37
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/22856",
38
+ "name": "Adam: Legend of the Blue Marvel (2008) #2"
39
+ },
40
+ {
41
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/38524",
42
+ "name": "Age of X: Universe (2011) #1"
43
+ },
44
+ {
45
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/21280",
46
+ "name": "All-New Iron Manual (2008) #1"
47
+ },
48
+ {
49
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12653",
50
+ "name": "Alpha Flight (1983) #113"
51
+ },
52
+ {
53
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12668",
54
+ "name": "Alpha Flight (1983) #127"
55
+ },
56
+ {
57
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/3942",
58
+ "name": "Amazing Spider-Man (1999) #530"
59
+ },
60
+ {
61
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/4065",
62
+ "name": "Amazing Spider-Man (1999) #531"
63
+ },
64
+ {
65
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/4177",
66
+ "name": "Amazing Spider-Man (1999) #532"
67
+ },
68
+ {
69
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/4277",
70
+ "name": "Amazing Spider-Man (1999) #533"
71
+ },
72
+ {
73
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/4806",
74
+ "name": "Amazing Spider-Man (1999) #535"
75
+ },
76
+ {
77
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/35532",
78
+ "name": "Amazing Spider-Man (1999) #668"
79
+ },
80
+ {
81
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/22433",
82
+ "name": "Annihilation Classic (Hardcover)"
83
+ },
84
+ {
85
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/39896",
86
+ "name": "Art of Marvel Studios TPB Slipcase (Hardcover)"
87
+ },
88
+ {
89
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/31210",
90
+ "name": "Astonishing Spider-Man/Wolverine (2010) #1"
91
+ },
92
+ {
93
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/31211",
94
+ "name": "Astonishing Spider-Man/Wolverine (2010) #1 (FOILOGRAM VARIANT)"
95
+ },
96
+ {
97
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/36441",
98
+ "name": "Astonishing Spider-Man/Wolverine (2010) #1 (2ND PRINTING VARIANT)"
99
+ },
100
+ {
101
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/36616",
102
+ "name": "Astonishing Spider-Man/Wolverine (2010) #1 (Director's Cut)"
103
+ },
104
+ {
105
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/31219",
106
+ "name": "Astonishing Spider-Man/Wolverine (2010) #2"
107
+ }
108
+ ],
109
+ "returned": 20
110
+ },
111
+ "series": {
112
+ "available": 443,
113
+ "collectionURI": "http://gateway.marvel.com/v1/public/characters/1009368/series",
114
+ "items": [
115
+ {
116
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/7524",
117
+ "name": "Adam: Legend of the Blue Marvel (2008)"
118
+ },
119
+ {
120
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/6079",
121
+ "name": "Adam: Legend of the Blue Marvel (2008)"
122
+ },
123
+ {
124
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/13896",
125
+ "name": "Age of X: Universe (2011)"
126
+ },
127
+ {
128
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/4897",
129
+ "name": "All-New Iron Manual (2008)"
130
+ },
131
+ {
132
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/2116",
133
+ "name": "Alpha Flight (1983 - 1994)"
134
+ },
135
+ {
136
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/454",
137
+ "name": "Amazing Spider-Man (1999 - 2013)"
138
+ },
139
+ {
140
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/6056",
141
+ "name": "Annihilation Classic (2008)"
142
+ },
143
+ {
144
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/14779",
145
+ "name": "Art of Marvel Studios TPB Slipcase (2011 - Present)"
146
+ },
147
+ {
148
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/9792",
149
+ "name": "Astonishing Spider-Man/Wolverine (2010 - 2011)"
150
+ },
151
+ {
152
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/6792",
153
+ "name": "Astonishing Tales (2009)"
154
+ },
155
+ {
156
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/6697",
157
+ "name": "Astonishing Tales: Iron Man 2020 (2009)"
158
+ },
159
+ {
160
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/6698",
161
+ "name": "Astonishing Tales: One Shots (Iron Man) (2008)"
162
+ },
163
+ {
164
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/6696",
165
+ "name": "Astonishing Tales: Wolverine/Punisher (2008 - 2009)"
166
+ },
167
+ {
168
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/744",
169
+ "name": "Astonishing X-Men (2004 - Present)"
170
+ },
171
+ {
172
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/7576",
173
+ "name": "Astonishing X-Men by Joss Whedon & John Cassaday (2009 - Present)"
174
+ },
175
+ {
176
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/9085",
177
+ "name": "Avengers (2010 - 2012)"
178
+ },
179
+ {
180
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/354",
181
+ "name": "Avengers (1998 - 2004)"
182
+ },
183
+ {
184
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/3621",
185
+ "name": "Avengers (1996 - 1997)"
186
+ },
187
+ {
188
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/1991",
189
+ "name": "Avengers (1963 - 1996)"
190
+ },
191
+ {
192
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/9086",
193
+ "name": "Avengers Academy (2010 - 2012)"
194
+ }
195
+ ],
196
+ "returned": 20
197
+ },
198
+ "stories": {
199
+ "available": 2885,
200
+ "collectionURI": "http://gateway.marvel.com/v1/public/characters/1009368/stories",
201
+ "items": [
202
+ {
203
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/892",
204
+ "name": "Cover #892",
205
+ "type": "cover"
206
+ },
207
+ {
208
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/960",
209
+ "name": "3 of ?",
210
+ "type": "cover"
211
+ },
212
+ {
213
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/982",
214
+ "name": "Interior #982",
215
+ "type": "interiorStory"
216
+ },
217
+ {
218
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/984",
219
+ "name": "Interior #984",
220
+ "type": "interiorStory"
221
+ },
222
+ {
223
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/986",
224
+ "name": "Interior #986",
225
+ "type": "interiorStory"
226
+ },
227
+ {
228
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/988",
229
+ "name": "Interior #988",
230
+ "type": "interiorStory"
231
+ },
232
+ {
233
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/990",
234
+ "name": "Interior #990",
235
+ "type": "interiorStory"
236
+ },
237
+ {
238
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/992",
239
+ "name": "Interior #992",
240
+ "type": "interiorStory"
241
+ },
242
+ {
243
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/994",
244
+ "name": "Interior #994",
245
+ "type": "interiorStory"
246
+ },
247
+ {
248
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/996",
249
+ "name": "Interior #996",
250
+ "type": "interiorStory"
251
+ },
252
+ {
253
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/998",
254
+ "name": "Interior #998",
255
+ "type": "interiorStory"
256
+ },
257
+ {
258
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1000",
259
+ "name": "Interior #1000",
260
+ "type": "interiorStory"
261
+ },
262
+ {
263
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1002",
264
+ "name": "AVENGERS DISASSEMBLED TIE-IN! Still reeling from recent traumas, Iron Man must face off against his evil doppelganger. Meanwhile",
265
+ "type": "interiorStory"
266
+ },
267
+ {
268
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1004",
269
+ "name": "\"THE SINGULARITY\" CONCLUSION! PART 4 (OF 4) The battle rages on between Iron Man and his doppelganger, but only one of them can ",
270
+ "type": "interiorStory"
271
+ },
272
+ {
273
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1041",
274
+ "name": "Avengers (1998) #502",
275
+ "type": "interiorStory"
276
+ },
277
+ {
278
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1051",
279
+ "name": "Interior #1051",
280
+ "type": "interiorStory"
281
+ },
282
+ {
283
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1186",
284
+ "name": "2 of 3 - Identity Thief",
285
+ "type": "interiorStory"
286
+ },
287
+ {
288
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1188",
289
+ "name": "3 of 3 - Identity Thief",
290
+ "type": "interiorStory"
291
+ },
292
+ {
293
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1189",
294
+ "name": "1 of 6 - The War at Home",
295
+ "type": "cover"
296
+ },
297
+ {
298
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1191",
299
+ "name": "2 of 6 - Spider-Man: The War at Home",
300
+ "type": "cover"
301
+ }
302
+ ],
303
+ "returned": 20
304
+ },
305
+ "events": {
306
+ "available": 24,
307
+ "collectionURI": "http://gateway.marvel.com/v1/public/characters/1009368/events",
308
+ "items": [
309
+ {
310
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/116",
311
+ "name": "Acts of Vengeance!"
312
+ },
313
+ {
314
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/303",
315
+ "name": "Age of X"
316
+ },
317
+ {
318
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/231",
319
+ "name": "Armor Wars"
320
+ },
321
+ {
322
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/233",
323
+ "name": "Atlantis Attacks"
324
+ },
325
+ {
326
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/234",
327
+ "name": "Avengers Disassembled"
328
+ },
329
+ {
330
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/310",
331
+ "name": "Avengers VS X-Men"
332
+ },
333
+ {
334
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/296",
335
+ "name": "Chaos War"
336
+ },
337
+ {
338
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/238",
339
+ "name": "Civil War"
340
+ },
341
+ {
342
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/239",
343
+ "name": "Crossing"
344
+ },
345
+ {
346
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/318",
347
+ "name": "Dark Reign"
348
+ },
349
+ {
350
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/245",
351
+ "name": "Enemy of the State"
352
+ },
353
+ {
354
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/249",
355
+ "name": "Fatal Attractions"
356
+ },
357
+ {
358
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/302",
359
+ "name": "Fear Itself"
360
+ },
361
+ {
362
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/251",
363
+ "name": "House of M"
364
+ },
365
+ {
366
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/29",
367
+ "name": "Infinity War"
368
+ },
369
+ {
370
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/255",
371
+ "name": "Initiative"
372
+ },
373
+ {
374
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/37",
375
+ "name": "Maximum Security"
376
+ },
377
+ {
378
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/154",
379
+ "name": "Onslaught"
380
+ },
381
+ {
382
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/269",
383
+ "name": "Secret Invasion"
384
+ },
385
+ {
386
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/270",
387
+ "name": "Secret Wars"
388
+ }
389
+ ],
390
+ "returned": 20
391
+ },
392
+ "urls": [
393
+ {
394
+ "type": "detail",
395
+ "url": "http://marvel.com/comics/characters/1009368/iron_man?utm_campaign=apiRef&utm_source=94f945fe8833c9a96e6f761b60562a45"
396
+ },
397
+ {
398
+ "type": "wiki",
399
+ "url": "http://marvel.com/universe/Iron_Man_(Anthony_Stark)?utm_campaign=apiRef&utm_source=94f945fe8833c9a96e6f761b60562a45"
400
+ }
401
+ ]
402
+ },
403
+ {
404
+ "id": 1009718,
405
+ "name": "Wolverine",
406
+ "description": "Born with super-human senses and the power to heal from almost any wound, Wolverine was captured by a secret Canadian organization and given an unbreakable skeleton and claws. Treated like an animal, it took years for him to control himself. Now, he's a premiere member of both the X-Men and the Avengers.",
407
+ "modified": "2013-11-20T17:40:18-0500",
408
+ "thumbnail": {
409
+ "path": "http://i.annihil.us/u/prod/marvel/i/mg/c/00/528d3a1eb24ee",
410
+ "extension": "jpg"
411
+ },
412
+ "resourceURI": "http://gateway.marvel.com/v1/public/characters/1009718",
413
+ "comics": {
414
+ "available": 1794,
415
+ "collectionURI": "http://gateway.marvel.com/v1/public/characters/1009718/comics",
416
+ "items": [
417
+ {
418
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/41112",
419
+ "name": "5 Ronin (Hardcover)"
420
+ },
421
+ {
422
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/41113",
423
+ "name": "5 Ronin (Hardcover)"
424
+ },
425
+ {
426
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/38756",
427
+ "name": "5 Ronin (2010) #1"
428
+ },
429
+ {
430
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/36162",
431
+ "name": "5 Ronin (2010) #1 (AJA Cover)"
432
+ },
433
+ {
434
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/29317",
435
+ "name": "ACTS OF VENGEANCE CROSSOVERS OMNIBUS (Hardcover)"
436
+ },
437
+ {
438
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/29318",
439
+ "name": "ACTS OF VENGEANCE CROSSOVERS OMNIBUS (DM Only) (Hardcover)"
440
+ },
441
+ {
442
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/24017",
443
+ "name": "Agents of Atlas (2009) #3 (Wolverine Art Appreciation Variant)"
444
+ },
445
+ {
446
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/24221",
447
+ "name": "Agents of Atlas (2009) #5"
448
+ },
449
+ {
450
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/24222",
451
+ "name": "Agents of Atlas (2009) #5 (MCGUINNESS VARIANT)"
452
+ },
453
+ {
454
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12690",
455
+ "name": "Alpha Flight (1983) #3"
456
+ },
457
+ {
458
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12671",
459
+ "name": "Alpha Flight (1983) #13"
460
+ },
461
+ {
462
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12675",
463
+ "name": "Alpha Flight (1983) #16"
464
+ },
465
+ {
466
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12676",
467
+ "name": "Alpha Flight (1983) #17"
468
+ },
469
+ {
470
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12694",
471
+ "name": "Alpha Flight (1983) #33"
472
+ },
473
+ {
474
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12695",
475
+ "name": "Alpha Flight (1983) #34"
476
+ },
477
+ {
478
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12715",
479
+ "name": "Alpha Flight (1983) #52"
480
+ },
481
+ {
482
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12716",
483
+ "name": "Alpha Flight (1983) #53"
484
+ },
485
+ {
486
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12725",
487
+ "name": "Alpha Flight (1983) #61"
488
+ },
489
+ {
490
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12753",
491
+ "name": "Alpha Flight (1983) #87"
492
+ },
493
+ {
494
+ "resourceURI": "http://gateway.marvel.com/v1/public/comics/12754",
495
+ "name": "Alpha Flight (1983) #88"
496
+ }
497
+ ],
498
+ "returned": 20
499
+ },
500
+ "series": {
501
+ "available": 436,
502
+ "collectionURI": "http://gateway.marvel.com/v1/public/characters/1009718/series",
503
+ "items": [
504
+ {
505
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/12429",
506
+ "name": "5 Ronin (2010)"
507
+ },
508
+ {
509
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/15276",
510
+ "name": "5 Ronin (2011)"
511
+ },
512
+ {
513
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/9994",
514
+ "name": "ACTS OF VENGEANCE CROSSOVERS OMNIBUS (2011)"
515
+ },
516
+ {
517
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/9995",
518
+ "name": "ACTS OF VENGEANCE CROSSOVERS OMNIBUS (DM Only) (2011)"
519
+ },
520
+ {
521
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/6807",
522
+ "name": "Agents of Atlas (2009)"
523
+ },
524
+ {
525
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/2116",
526
+ "name": "Alpha Flight (1983 - 1994)"
527
+ },
528
+ {
529
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/1983",
530
+ "name": "Alpha Flight Classic Vol. 1 (2007)"
531
+ },
532
+ {
533
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/454",
534
+ "name": "Amazing Spider-Man (1999 - 2013)"
535
+ },
536
+ {
537
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/1987",
538
+ "name": "Amazing Spider-Man (1963 - 1998)"
539
+ },
540
+ {
541
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/2984",
542
+ "name": "Amazing Spider-Man Annual (1964 - Present)"
543
+ },
544
+ {
545
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/7197",
546
+ "name": "Anita Blake: The Laughing Corpse - Necromancer (2009)"
547
+ },
548
+ {
549
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/14818",
550
+ "name": "Annihilators: Earthfall (2011)"
551
+ },
552
+ {
553
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/9792",
554
+ "name": "Astonishing Spider-Man/Wolverine (2010 - 2011)"
555
+ },
556
+ {
557
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/11110",
558
+ "name": "Astonishing Spider-Man/Wolverine (2010 - Present)"
559
+ },
560
+ {
561
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/6792",
562
+ "name": "Astonishing Tales (2009)"
563
+ },
564
+ {
565
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/6696",
566
+ "name": "Astonishing Tales: Wolverine/Punisher (2008 - 2009)"
567
+ },
568
+ {
569
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/744",
570
+ "name": "Astonishing X-Men (2004 - Present)"
571
+ },
572
+ {
573
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/7576",
574
+ "name": "Astonishing X-Men by Joss Whedon & John Cassaday (2009 - Present)"
575
+ },
576
+ {
577
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/1464",
578
+ "name": "Astonishing X-Men Vol. 1 (2006)"
579
+ },
580
+ {
581
+ "resourceURI": "http://gateway.marvel.com/v1/public/series/1298",
582
+ "name": "Astonishing X-Men Vol. 1: Gifted (2004)"
583
+ }
584
+ ],
585
+ "returned": 20
586
+ },
587
+ "stories": {
588
+ "available": 2445,
589
+ "collectionURI": "http://gateway.marvel.com/v1/public/characters/1009718/stories",
590
+ "items": [
591
+ {
592
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/477",
593
+ "name": "Cover #477",
594
+ "type": "cover"
595
+ },
596
+ {
597
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/628",
598
+ "name": "1 of 1 - Holiday Issue",
599
+ "type": "cover"
600
+ },
601
+ {
602
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/630",
603
+ "name": "1 of 5 - Golgotha",
604
+ "type": "cover"
605
+ },
606
+ {
607
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/652",
608
+ "name": "2 of 3 - House of Broken Dreams",
609
+ "type": "cover"
610
+ },
611
+ {
612
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1051",
613
+ "name": "Interior #1051",
614
+ "type": "interiorStory"
615
+ },
616
+ {
617
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1415",
618
+ "name": "Interior #1415",
619
+ "type": "interiorStory"
620
+ },
621
+ {
622
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1499",
623
+ "name": "Interior #1499",
624
+ "type": "interiorStory"
625
+ },
626
+ {
627
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1632",
628
+ "name": "Interior #1632",
629
+ "type": "interiorStory"
630
+ },
631
+ {
632
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1767",
633
+ "name": "Interior #1767",
634
+ "type": "interiorStory"
635
+ },
636
+ {
637
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1776",
638
+ "name": "Cover #1776",
639
+ "type": "cover"
640
+ },
641
+ {
642
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1779",
643
+ "name": "Interior #1779",
644
+ "type": "interiorStory"
645
+ },
646
+ {
647
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1803",
648
+ "name": "Interior #1803",
649
+ "type": "interiorStory"
650
+ },
651
+ {
652
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1847",
653
+ "name": "Interior #1847",
654
+ "type": "interiorStory"
655
+ },
656
+ {
657
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1912",
658
+ "name": "Interior #1912",
659
+ "type": "interiorStory"
660
+ },
661
+ {
662
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1936",
663
+ "name": "4 of 5 - Quiet",
664
+ "type": "cover"
665
+ },
666
+ {
667
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/1979",
668
+ "name": "Interior #1979",
669
+ "type": "interiorStory"
670
+ },
671
+ {
672
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/2070",
673
+ "name": "Interior #2070",
674
+ "type": "interiorStory"
675
+ },
676
+ {
677
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/2084",
678
+ "name": "Interior #2084",
679
+ "type": "interiorStory"
680
+ },
681
+ {
682
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/2154",
683
+ "name": "3 of 6 - Enemy of the State",
684
+ "type": "interiorStory"
685
+ },
686
+ {
687
+ "resourceURI": "http://gateway.marvel.com/v1/public/stories/2167",
688
+ "name": "Interior #2167",
689
+ "type": "interiorStory"
690
+ }
691
+ ],
692
+ "returned": 20
693
+ },
694
+ "events": {
695
+ "available": 32,
696
+ "collectionURI": "http://gateway.marvel.com/v1/public/characters/1009718/events",
697
+ "items": [
698
+ {
699
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/116",
700
+ "name": "Acts of Vengeance!"
701
+ },
702
+ {
703
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/227",
704
+ "name": "Age of Apocalypse"
705
+ },
706
+ {
707
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/233",
708
+ "name": "Atlantis Attacks"
709
+ },
710
+ {
711
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/310",
712
+ "name": "Avengers VS X-Men"
713
+ },
714
+ {
715
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/296",
716
+ "name": "Chaos War"
717
+ },
718
+ {
719
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/238",
720
+ "name": "Civil War"
721
+ },
722
+ {
723
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/318",
724
+ "name": "Dark Reign"
725
+ },
726
+ {
727
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/240",
728
+ "name": "Days of Future Present"
729
+ },
730
+ {
731
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/245",
732
+ "name": "Enemy of the State"
733
+ },
734
+ {
735
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/246",
736
+ "name": "Evolutionary War"
737
+ },
738
+ {
739
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/248",
740
+ "name": "Fall of the Mutants"
741
+ },
742
+ {
743
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/249",
744
+ "name": "Fatal Attractions"
745
+ },
746
+ {
747
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/302",
748
+ "name": "Fear Itself"
749
+ },
750
+ {
751
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/251",
752
+ "name": "House of M"
753
+ },
754
+ {
755
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/252",
756
+ "name": "Inferno"
757
+ },
758
+ {
759
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/253",
760
+ "name": "Infinity Gauntlet"
761
+ },
762
+ {
763
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/29",
764
+ "name": "Infinity War"
765
+ },
766
+ {
767
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/37",
768
+ "name": "Maximum Security"
769
+ },
770
+ {
771
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/299",
772
+ "name": "Messiah CompleX"
773
+ },
774
+ {
775
+ "resourceURI": "http://gateway.marvel.com/v1/public/events/298",
776
+ "name": "Messiah War"
777
+ }
778
+ ],
779
+ "returned": 20
780
+ },
781
+ "urls": [
782
+ {
783
+ "type": "detail",
784
+ "url": "http://marvel.com/comics/characters/1009718/wolverine?utm_campaign=apiRef&utm_source=94f945fe8833c9a96e6f761b60562a45"
785
+ },
786
+ {
787
+ "type": "wiki",
788
+ "url": "http://marvel.com/universe/Wolverine_(James_Howlett)?utm_campaign=apiRef&utm_source=94f945fe8833c9a96e6f761b60562a45"
789
+ }
790
+ ]
791
+ }
792
+ ]
793
+ }
794
+ }