ultron 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ultron.rb +9 -19
  3. data/lib/ultron/auth.rb +17 -0
  4. data/lib/ultron/characters.rb +4 -0
  5. data/lib/ultron/comics.rb +4 -0
  6. data/lib/ultron/config.rb +1 -2
  7. data/lib/ultron/connection.rb +9 -9
  8. data/lib/ultron/creators.rb +4 -0
  9. data/lib/ultron/entities.rb +69 -0
  10. data/lib/ultron/events.rb +4 -0
  11. data/lib/ultron/helpers.rb +0 -16
  12. data/lib/ultron/series.rb +4 -0
  13. data/lib/ultron/stories.rb +4 -0
  14. data/lib/ultron/version.rb +1 -1
  15. data/spec/cassettes/Ultron_Characters/find_a_character.yml +99 -0
  16. data/spec/cassettes/Ultron_Characters/should_find_a_character.yml +99 -0
  17. data/spec/cassettes/Ultron_Characters/should_find_a_list_of_comics_featuring_the_character.yml +1782 -0
  18. data/spec/cassettes/{Ultron_API_Comic/should_have_the_correct_title.yml → Ultron_Comics/find_a_comic.yml} +8 -8
  19. data/spec/cassettes/{Ultron_API_Comic/should_have_the_correct_year.yml → Ultron_Comics/should_find_a_comic.yml} +8 -8
  20. data/spec/cassettes/Ultron_Connection/should_get_a_200.yml +10 -10
  21. data/spec/cassettes/{Ultron_API_Serieses/generate_filtered_lists_of_serieses/by_creator.yml → Ultron_Creators/should_find_a_list_of_series_by_the_creator.yml} +252 -200
  22. data/spec/cassettes/Ultron_Events/should_find_a_list_of_stories_for_the_event.yml +346 -0
  23. data/spec/cassettes/Ultron_Events/should_find_an_event.yml +123 -0
  24. data/spec/ultron/characters_spec.rb +31 -0
  25. data/spec/ultron/comics_spec.rb +22 -0
  26. data/spec/ultron/config_spec.rb +9 -0
  27. data/spec/ultron/connection_spec.rb +13 -3
  28. data/spec/ultron/creators_spec.rb +26 -0
  29. data/spec/ultron/events_spec.rb +26 -0
  30. metadata +34 -236
  31. data/lib/ultron/api/character.rb +0 -19
  32. data/lib/ultron/api/characters.rb +0 -14
  33. data/lib/ultron/api/comic.rb +0 -15
  34. data/lib/ultron/api/comics.rb +0 -14
  35. data/lib/ultron/api/creator.rb +0 -19
  36. data/lib/ultron/api/creators.rb +0 -14
  37. data/lib/ultron/api/entities.rb +0 -78
  38. data/lib/ultron/api/entity.rb +0 -51
  39. data/lib/ultron/api/event.rb +0 -15
  40. data/lib/ultron/api/events.rb +0 -14
  41. data/lib/ultron/api/series.rb +0 -23
  42. data/lib/ultron/api/serieses.rb +0 -16
  43. data/lib/ultron/api/stories.rb +0 -14
  44. data/lib/ultron/api/story.rb +0 -15
  45. data/spec/cassettes/Ultron_API_Character/should_have_a_series_set.yml +0 -88
  46. data/spec/cassettes/Ultron_API_Character/should_have_an_events_set.yml +0 -32
  47. data/spec/cassettes/Ultron_API_Character/should_have_the_correct_name.yml +0 -88
  48. data/spec/cassettes/Ultron_API_Character/should_have_the_correct_sets/events.yml +0 -32
  49. data/spec/cassettes/Ultron_API_Character/should_not_have_any_events.yml +0 -32
  50. data/spec/cassettes/Ultron_API_CharacterSet/should_have_the_correct_first_character.yml +0 -1616
  51. data/spec/cassettes/Ultron_API_Characters/characters_filtered_by_comic/should_have_the_correct_first_character.yml +0 -1616
  52. data/spec/cassettes/Ultron_API_Characters/generate_filtered_lists_of_characters/by_comic.yml +0 -1862
  53. data/spec/cassettes/Ultron_API_Characters/generate_filtered_lists_of_characters/by_event.yml +0 -3876
  54. data/spec/cassettes/Ultron_API_Characters/generate_filtered_lists_of_characters/by_series.yml +0 -743
  55. data/spec/cassettes/Ultron_API_Characters/generate_filtered_lists_of_characters/by_story.yml +0 -345
  56. data/spec/cassettes/Ultron_API_Characters/get_a_character_by_name/should_have_the_correct_id.yml +0 -114
  57. data/spec/cassettes/Ultron_API_Characters/get_a_character_by_name/should_have_the_correct_name.yml +0 -114
  58. data/spec/cassettes/Ultron_API_Characters/get_a_character_with_a_space_in_their_name/should_have_the_correct_id.yml +0 -99
  59. data/spec/cassettes/Ultron_API_Characters/get_a_character_with_a_space_in_their_name/should_have_the_correct_name.yml +0 -99
  60. data/spec/cassettes/Ultron_API_Characters/get_the_first_character_off_the_list/should_have_the_correct_id.yml +0 -644
  61. data/spec/cassettes/Ultron_API_Characters/get_the_first_character_off_the_list/should_have_the_correct_name.yml +0 -644
  62. data/spec/cassettes/Ultron_API_Characters/get_the_first_character_off_the_list/should_have_the_correct_resourceURI.yml +0 -644
  63. data/spec/cassettes/Ultron_API_Characters/parameterize_the_request/should_let_us_set_multiple_parameters.yml +0 -1595
  64. data/spec/cassettes/Ultron_API_Characters/should_generate_a_list_of_characters_filtered_by_comic.yml +0 -2737
  65. data/spec/cassettes/Ultron_API_Characters/should_generate_a_list_of_characters_filtered_by_event.yml +0 -7345
  66. data/spec/cassettes/Ultron_API_Characters/should_generate_a_list_of_characters_filtered_by_series.yml +0 -743
  67. data/spec/cassettes/Ultron_API_Characters/should_generate_a_list_of_characters_filtered_by_story.yml +0 -231
  68. data/spec/cassettes/Ultron_API_Characters/should_have_genarate_a_list_of_characters_filtered_by_comic.yml +0 -1616
  69. data/spec/cassettes/Ultron_API_Characters/should_have_the_correct_first_character.yml +0 -1616
  70. data/spec/cassettes/Ultron_API_Characters/should_not_generate_a_list_of_characters_filtered_by_creator.yml +0 -31
  71. data/spec/cassettes/Ultron_API_Characters/should_not_generate_lists_of_characters/filtered_by_creator.yml +0 -31
  72. data/spec/cassettes/Ultron_API_Comic/should_have_a_list_of_characters.yml +0 -46
  73. data/spec/cassettes/Ultron_API_Comic/should_have_openstruct_method-style_attribute_accessors.yml +0 -46
  74. data/spec/cassettes/Ultron_API_ComicSet/should_have_the_correct_first_comic.yml +0 -2013
  75. data/spec/cassettes/Ultron_API_Comics/generate_filtered_lists_of_comics/by_character.yml +0 -2059
  76. data/spec/cassettes/Ultron_API_Comics/generate_filtered_lists_of_comics/by_creator.yml +0 -2177
  77. data/spec/cassettes/Ultron_API_Comics/generate_filtered_lists_of_comics/by_event.yml +0 -1701
  78. data/spec/cassettes/Ultron_API_Comics/generate_filtered_lists_of_comics/by_series.yml +0 -123
  79. data/spec/cassettes/Ultron_API_Comics/generate_filtered_lists_of_comics/by_stories.yml +0 -499
  80. data/spec/cassettes/Ultron_API_Comics/generate_filtered_lists_of_comics/by_story.yml +0 -577
  81. data/spec/cassettes/Ultron_API_Comics/get_the_first_comic_off_the_list/should_have_the_correct_id.yml +0 -1039
  82. data/spec/cassettes/Ultron_API_Comics/get_the_first_comic_off_the_list/should_have_the_correct_name.yml +0 -946
  83. data/spec/cassettes/Ultron_API_Comics/get_the_first_comic_off_the_list/should_have_the_correct_resourceURI.yml +0 -1039
  84. data/spec/cassettes/Ultron_API_Comics/get_the_first_comic_off_the_list/should_have_the_correct_title.yml +0 -1039
  85. data/spec/cassettes/Ultron_API_Comics/parameterize_the_request/should_let_us_set_a_dateRange.yml +0 -1613
  86. data/spec/cassettes/Ultron_API_Comics/parameterize_the_request/should_let_us_set_a_limit.yml +0 -96
  87. data/spec/cassettes/Ultron_API_Comics/should_generate_a_list_of_comics_filtered_by_character.yml +0 -3955
  88. data/spec/cassettes/Ultron_API_Comics/should_give_me_a_random_comic.yml +0 -118
  89. data/spec/cassettes/Ultron_API_Comics/should_have_the_correct_first_comic.yml +0 -2012
  90. data/spec/cassettes/Ultron_API_ComicsSet/should_have_the_correct_first_comic.yml +0 -2013
  91. data/spec/cassettes/Ultron_API_Creator/it_should_have_the_correct_sets/comics.yml +0 -2029
  92. data/spec/cassettes/Ultron_API_Creator/should_have_a_comics_set.yml +0 -2022
  93. data/spec/cassettes/Ultron_API_Creator/should_have_the_correct_comic.yml +0 -2029
  94. data/spec/cassettes/Ultron_API_Creator/should_have_the_correct_name.yml +0 -243
  95. data/spec/cassettes/Ultron_API_Creators/generate_filtered_lists_of_creators/by_comic.yml +0 -1205
  96. data/spec/cassettes/Ultron_API_Creators/generate_filtered_lists_of_creators/by_event.yml +0 -2778
  97. data/spec/cassettes/Ultron_API_Creators/generate_filtered_lists_of_creators/by_series.yml +0 -4555
  98. data/spec/cassettes/Ultron_API_Creators/generate_filtered_lists_of_creators/by_story.yml +0 -1253
  99. data/spec/cassettes/Ultron_API_Creators/get_a_creator_by_name/should_return_the_correct_creator.yml +0 -30
  100. data/spec/cassettes/Ultron_API_Creators/get_the_fourth_creator_off_the_list/should_have_the_right_name.yml +0 -1205
  101. data/spec/cassettes/Ultron_API_Creators/get_the_second_creator_off_the_list/should_have_the_right_name.yml +0 -384
  102. data/spec/cassettes/Ultron_API_Creators/should_give_me_a_random_creator.yml +0 -33
  103. data/spec/cassettes/Ultron_API_Creators/should_have_the_correct_count.yml +0 -113
  104. data/spec/cassettes/Ultron_API_Creators/should_have_the_correct_first_comic.yml +0 -32
  105. data/spec/cassettes/Ultron_API_Creators/should_have_the_correct_total.yml +0 -113
  106. data/spec/cassettes/Ultron_API_Creators/should_not_generate_a_list_of_creators_filtered_by_character.yml +0 -31
  107. data/spec/cassettes/Ultron_API_Creators/should_not_generate_lists_of_creators/filtered_by_character.yml +0 -31
  108. data/spec/cassettes/Ultron_API_Event/should_have_a_list_of_characters.yml +0 -195
  109. data/spec/cassettes/Ultron_API_Event/should_have_the_correct_first_character.yml +0 -195
  110. data/spec/cassettes/Ultron_API_Event/should_have_the_correct_title.yml +0 -108
  111. data/spec/cassettes/Ultron_API_Events/generate_filtered_lists_of_events/by_character.yml +0 -5161
  112. data/spec/cassettes/Ultron_API_Events/generate_filtered_lists_of_events/by_comic.yml +0 -363
  113. data/spec/cassettes/Ultron_API_Events/generate_filtered_lists_of_events/by_creator.yml +0 -9257
  114. data/spec/cassettes/Ultron_API_Events/generate_filtered_lists_of_events/by_series.yml +0 -240
  115. data/spec/cassettes/Ultron_API_Events/generate_filtered_lists_of_events/by_story.yml +0 -375
  116. data/spec/cassettes/Ultron_API_Events/get_the_second_event_off_the_list/should_have_the_right_name.yml +0 -4762
  117. data/spec/cassettes/Ultron_API_Events/should_give_me_a_random_event.yml +0 -9587
  118. data/spec/cassettes/Ultron_API_Series/should_have_the_correct_sets/not_series.yml +0 -40
  119. data/spec/cassettes/Ultron_API_Series/should_have_the_correct_title.yml +0 -40
  120. data/spec/cassettes/Ultron_API_Serieses/generate_filtered_lists_of_serieses/by_character.yml +0 -3618
  121. data/spec/cassettes/Ultron_API_Serieses/generate_filtered_lists_of_serieses/by_comic.yml +0 -31
  122. data/spec/cassettes/Ultron_API_Serieses/generate_filtered_lists_of_serieses/by_event.yml +0 -591
  123. data/spec/cassettes/Ultron_API_Serieses/get_the_third_event_off_the_list/should_have_the_right_name.yml +0 -1780
  124. data/spec/cassettes/Ultron_API_Serieses/should_not_generate_lists_of_series/filtered_by_comic.yml +0 -31
  125. data/spec/cassettes/Ultron_API_Serieses/should_not_generate_lists_of_series/filtered_by_story.yml +0 -31
  126. data/spec/cassettes/Ultron_API_Stories/generate_filtered_lists_of_stories/by_character.yml +0 -342
  127. data/spec/cassettes/Ultron_API_Stories/generate_filtered_lists_of_stories/by_comic.yml +0 -110
  128. data/spec/cassettes/Ultron_API_Stories/generate_filtered_lists_of_stories/by_creator.yml +0 -1041
  129. data/spec/cassettes/Ultron_API_Stories/generate_filtered_lists_of_stories/by_event.yml +0 -846
  130. data/spec/cassettes/Ultron_API_Stories/generate_filtered_lists_of_stories/by_series.yml +0 -143
  131. data/spec/cassettes/Ultron_API_Stories/get_the_fourth_story_off_the_list/should_have_the_right_name.yml +0 -686
  132. data/spec/cassettes/Ultron_API_Stories/get_the_second_story_off_the_list/should_have_the_right_name.yml +0 -686
  133. data/spec/cassettes/Ultron_API_Story/should_have_the_correct_title.yml +0 -40
  134. data/spec/ultron/api/character_spec.rb +0 -50
  135. data/spec/ultron/api/comic_spec.rb +0 -51
  136. data/spec/ultron/api/creator_spec.rb +0 -50
  137. data/spec/ultron/api/event_spec.rb +0 -50
  138. data/spec/ultron/api/filtered_sets/characters_filtered_spec.rb +0 -53
  139. data/spec/ultron/api/filtered_sets/comics_filtered_spec.rb +0 -51
  140. data/spec/ultron/api/filtered_sets/creators_filtered_spec.rb +0 -51
  141. data/spec/ultron/api/filtered_sets/events_filtered_spec.rb +0 -51
  142. data/spec/ultron/api/filtered_sets/series_filtered_spec.rb +0 -50
  143. data/spec/ultron/api/filtered_sets/stories_filtered_spec.rb +0 -52
  144. data/spec/ultron/api/series_spec.rb +0 -46
  145. data/spec/ultron/api/sets/characters_spec.rb +0 -71
  146. data/spec/ultron/api/sets/comics_spec.rb +0 -53
  147. data/spec/ultron/api/sets/creators_spec.rb +0 -38
  148. data/spec/ultron/api/sets/events_spec.rb +0 -35
  149. data/spec/ultron/api/sets/serieses_spec.rb +0 -26
  150. data/spec/ultron/api/sets/stories_spec.rb +0 -26
  151. data/spec/ultron/api/story_spec.rb +0 -46
@@ -1,19 +0,0 @@
1
- module Ultron
2
- module API
3
- class Character < Entity
4
- def initialize id
5
- @id = id
6
- @path = 'characters/%s' % @id
7
- super @path
8
- end
9
-
10
- def characters
11
- nil
12
- end
13
-
14
- def creators
15
- nil
16
- end
17
- end
18
- end
19
- end
@@ -1,14 +0,0 @@
1
- module Ultron
2
- module API
3
- class Characters < Entities
4
- def initialize path = nil
5
- path = 'characters' if path.nil?
6
- super path
7
- end
8
-
9
- def [] key
10
- Character.new results[key]['id']
11
- end
12
- end
13
- end
14
- end
@@ -1,15 +0,0 @@
1
- module Ultron
2
- module API
3
- class Comic < Entity
4
- def initialize id
5
- @id = id
6
- @path = 'comics/%s' % @id
7
- super @path
8
- end
9
-
10
- def comics
11
- nil
12
- end
13
- end
14
- end
15
- end
@@ -1,14 +0,0 @@
1
- module Ultron
2
- module API
3
- class Comics < Entities
4
- def initialize path = nil
5
- path = 'comics' if path.nil?
6
- super path
7
- end
8
-
9
- def [] key
10
- Comic.new results[key]['id']
11
- end
12
- end
13
- end
14
- end
@@ -1,19 +0,0 @@
1
- module Ultron
2
- module API
3
- class Creator < Entity
4
- def initialize id
5
- @id = id
6
- @path = 'creators/%s' % @id
7
- super @path
8
- end
9
-
10
- def characters
11
- nil
12
- end
13
-
14
- def creators
15
- nil
16
- end
17
- end
18
- end
19
- end
@@ -1,14 +0,0 @@
1
- module Ultron
2
- module API
3
- class Creators < Entities
4
- def initialize path = nil
5
- path = 'creators' if path.nil?
6
- super path
7
- end
8
-
9
- def [] key
10
- Creator.new results[key]['id']
11
- end
12
- end
13
- end
14
- end
@@ -1,78 +0,0 @@
1
- module Ultron
2
- module API
3
- CLASSES = {
4
- :Characters => :Character,
5
- :Comics => :Comic,
6
- :Creators => :Creator,
7
- :Events => :Event,
8
- :Serieses => :Series,
9
- :Stories => :Story
10
- }
11
-
12
- SINGLE_OF_SELF = Entity
13
-
14
- class Entities
15
- attr_accessor :metadata
16
- include Enumerable
17
-
18
- define_singleton_method :random_id do
19
- e = self.new
20
- total = e.metadata['total']
21
-
22
- e.by_offset Random.rand(total)
23
- e.by_limit 1
24
-
25
- e[0]['id']
26
- end
27
-
28
- define_singleton_method :shuffle do
29
- eval(CLASSES[self.name.split('::')[-1].to_sym].to_s).new self.random_id
30
- end
31
-
32
- def initialize type
33
- @cnxn = Ultron::Connection.new type
34
- end
35
-
36
- def each
37
- results.each do |item|
38
- yield item
39
- end
40
- end
41
-
42
- def add_params params
43
- @cnxn.add_params params
44
- end
45
-
46
- def remove_param p
47
- @cnxn.remove_param p
48
- end
49
-
50
- def length
51
- results.length
52
- end
53
-
54
- def metadata
55
- @metadata || begin
56
- @cnxn.perform['data']
57
- end
58
- end
59
-
60
- def results
61
- @results || begin
62
- @metadata = @cnxn.perform
63
- @metadata['data']['results']
64
- rescue NoMethodError
65
- []
66
- end
67
- end
68
-
69
- def method_missing method_name, *args
70
- method_name = method_name.to_s
71
- if param = method_name.match(/^by_(.*)/)[1]
72
- @cnxn.add_params param => args.join(' ')
73
- @cnxn.perform['data']['results'][0]
74
- end
75
- end
76
- end
77
- end
78
- end
@@ -1,51 +0,0 @@
1
- module Ultron
2
- module API
3
- class Entity
4
- def initialize path
5
- @cnxn = Ultron::Connection.new path
6
- end
7
-
8
- def [] key
9
- results[key]
10
- end
11
-
12
- def method_missing method_name, *args
13
- results.send(method_name)
14
- end
15
-
16
- def results
17
- @results || begin
18
- @cnxn.perform['data']['results'][0]
19
- end
20
- end
21
-
22
- def comics
23
- Comics.new '%s/comics' % @path
24
- end
25
-
26
- def characters
27
- Characters.new '%s/characters' % @path
28
- end
29
-
30
- def creators
31
- Creators.new '%s/creators' % @path
32
- end
33
-
34
- def events
35
- Events.new '%s/events' % @path
36
- end
37
-
38
- def serieses
39
- Serieses.new '%s/serieses' % @path
40
- end
41
-
42
- def stories
43
- Stories.new '%s/stories' % @path
44
- end
45
-
46
- def has_events?
47
- events.any?
48
- end
49
- end
50
- end
51
- end
@@ -1,15 +0,0 @@
1
- module Ultron
2
- module API
3
- class Event < Entity
4
- def initialize id
5
- @id = id
6
- @path = 'events/%s' % @id
7
- super @path
8
- end
9
-
10
- def events
11
- nil
12
- end
13
- end
14
- end
15
- end
@@ -1,14 +0,0 @@
1
- module Ultron
2
- module API
3
- class Events < Entities
4
- def initialize path = nil
5
- path = 'events' if path.nil?
6
- super path
7
- end
8
-
9
- def [] key
10
- Event.new results[key]['id']
11
- end
12
- end
13
- end
14
- end
@@ -1,23 +0,0 @@
1
- module Ultron
2
- module API
3
- class Series < Entity
4
- def initialize id
5
- @id = id
6
- @path = 'series/%s' % @id
7
- super @path
8
- end
9
-
10
- def comics
11
- nil
12
- end
13
-
14
- def stories
15
- nil
16
- end
17
-
18
- def serieses
19
- nil
20
- end
21
- end
22
- end
23
- end
@@ -1,16 +0,0 @@
1
- module Ultron
2
- module API
3
- class Serieses < Entities
4
- def initialize path = nil
5
- path = 'series' if path.nil?
6
- super path
7
- end
8
-
9
- def [] key
10
- Series.new results[key]['id']
11
- end
12
-
13
- # something something delete_method
14
- end
15
- end
16
- end
@@ -1,14 +0,0 @@
1
- module Ultron
2
- module API
3
- class Stories < Entities
4
- def initialize path = nil
5
- path = 'stories' if path.nil?
6
- super path
7
- end
8
-
9
- def [] key
10
- Story.new results[key]['id']
11
- end
12
- end
13
- end
14
- end
@@ -1,15 +0,0 @@
1
- module Ultron
2
- module API
3
- class Story < Entity
4
- def initialize id
5
- @id = id
6
- @path = 'stories/%s' % @id
7
- super @path
8
- end
9
-
10
- def stories
11
- nil
12
- end
13
- end
14
- end
15
- end
@@ -1,88 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://gateway.marvel.com/v1/public/characters/1009496?apikey=<PUBLIC_KEY>&hash=f8366b9e8b1ae6c7ed29d87062efffef&ts=1391894400
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Accept:
11
- - application/json
12
- response:
13
- status:
14
- code: 200
15
- message: OK
16
- headers:
17
- Etag:
18
- - c8fdc344df4c102bc75865c8d6b2ddf7433521ff
19
- Content-Type:
20
- - application/json
21
- Content-Length:
22
- - '7180'
23
- Date:
24
- - Mon, 10 Feb 2014 10:34:35 GMT
25
- Connection:
26
- - keep-alive
27
- body:
28
- encoding: ASCII-8BIT
29
- string: "{\"code\":200,\"status\":\"Ok\",\"etag\":\"c8fdc344df4c102bc75865c8d6b2ddf7433521ff\",\"data\":{\"offset\":0,\"limit\":20,\"total\":1,\"count\":1,\"results\":[{\"id\":1009496,\"name\":\"Phoenix\",\"description\":\"\",\"modified\":\"1969-12-31T19:00:00-0500\",\"thumbnail\":{\"path\":\"http://i.annihil.us/u/prod/marvel/i/mg/f/30/4bc654cf9d0ac\",\"extension\":\"jpg\"},\"resourceURI\":\"http://gateway.marvel.com/v1/public/characters/1009496\",\"comics\":{\"available\":46,\"collectionURI\":\"http://gateway.marvel.com/v1/public/characters/1009496/comics\",\"items\":[{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/6965\",\"name\":\"Avengers
30
- (1963) #110\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/39445\",\"name\":\"Essential
31
- X-Factor Vol. 2 (All-New Edition) (Trade Paperback)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/30239\",\"name\":\"Girl
32
- Comics (2010) #2\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/37202\",\"name\":\"Marvel
33
- Girl (2010) #1\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/38300\",\"name\":\"New
34
- X-Men Vol. 2: Germ-Free Generation GN-TPB (Graphic Novel)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/41839\",\"name\":\"Uncanny
35
- X-Force (2010) #13 (2nd Printing Variant)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12518\",\"name\":\"Uncanny
36
- X-Men (1963) #67\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12519\",\"name\":\"Uncanny
37
- X-Men (1963) #68\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12520\",\"name\":\"Uncanny
38
- X-Men (1963) #69\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12522\",\"name\":\"Uncanny
39
- X-Men (1963) #70\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12523\",\"name\":\"Uncanny
40
- X-Men (1963) #71\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12524\",\"name\":\"Uncanny
41
- X-Men (1963) #72\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12525\",\"name\":\"Uncanny
42
- X-Men (1963) #73\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12526\",\"name\":\"Uncanny
43
- X-Men (1963) #74\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12527\",\"name\":\"Uncanny
44
- X-Men (1963) #75\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12528\",\"name\":\"Uncanny
45
- X-Men (1963) #76\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12529\",\"name\":\"Uncanny
46
- X-Men (1963) #77\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12530\",\"name\":\"Uncanny
47
- X-Men (1963) #78\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12531\",\"name\":\"Uncanny
48
- X-Men (1963) #79\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/comics/12533\",\"name\":\"Uncanny
49
- X-Men (1963) #80\"}],\"returned\":20},\"series\":{\"available\":16,\"collectionURI\":\"http://gateway.marvel.com/v1/public/characters/1009496/series\",\"items\":[{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/1991\",\"name\":\"Avengers
50
- (1963 - 1996)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/14400\",\"name\":\"Essential
51
- X-Factor Vol. 2 (All-New Edition) (2011 - Present)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/9311\",\"name\":\"Girl
52
- Comics (2010)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/13345\",\"name\":\"Marvel
53
- Girl (2010 - 2011)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/13801\",\"name\":\"New
54
- X-Men Vol. 2: Germ-Free Generation GN-TPB (2011 - Present)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/9976\",\"name\":\"Uncanny
55
- X-Force (2010 - 2012)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/2258\",\"name\":\"Uncanny
56
- X-Men (1963 - 2011)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/8564\",\"name\":\"Uncanny
57
- X-Men: First Class (2009 - 2010)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/9313\",\"name\":\"X-Factor
58
- Forever (2010)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/2265\",\"name\":\"X-Men
59
- (1991 - 2001)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/9978\",\"name\":\"X-Men
60
- Forever 2 (2010 - 2011)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/10599\",\"name\":\"X-Men
61
- Forever 2 Vol. 2: Scream a Little Scream TPB (2011)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/9738\",\"name\":\"X-Men
62
- Forever Annual (2010)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/9806\",\"name\":\"X-Men
63
- Forever Giant-Size (2010)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/1616\",\"name\":\"X-Men:
64
- Phoenix - Endsong (2005)\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/series/827\",\"name\":\"X-Men:
65
- Phoenix - Endsong (2005)\"}],\"returned\":16},\"stories\":{\"available\":45,\"collectionURI\":\"http://gateway.marvel.com/v1/public/characters/1009496/stories\",\"items\":[{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/4209\",\"name\":\"1
66
- of 5\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/14468\",\"name\":\"And
67
- Now, Magneto\",\"type\":\"interiorStory\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15615\",\"name\":\"Cover
68
- #15615\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15618\",\"name\":\"Cover
69
- #15618\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15621\",\"name\":\"Cover
70
- #15621\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15626\",\"name\":\"Cover
71
- #15626\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15629\",\"name\":\"Cover
72
- #15629\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15631\",\"name\":\"Cover
73
- #15631\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15634\",\"name\":\"Cover
74
- #15634\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15636\",\"name\":\"Cover
75
- #15636\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15638\",\"name\":\"Cover
76
- #15638\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15640\",\"name\":\"Cover
77
- #15640\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15642\",\"name\":\"Cover
78
- #15642\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15644\",\"name\":\"The
79
- Menace of Merlin!\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15646\",\"name\":\"Cover
80
- #15646\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15651\",\"name\":\"Cover
81
- #15651\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15653\",\"name\":\"Cover
82
- #15653\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15655\",\"name\":\"Cover
83
- #15655\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15657\",\"name\":\"Cover
84
- #15657\",\"type\":\"cover\"},{\"resourceURI\":\"http://gateway.marvel.com/v1/public/stories/15659\",\"name\":\"Mekano
85
- Lives!\",\"type\":\"cover\"}],\"returned\":20},\"events\":{\"available\":0,\"collectionURI\":\"http://gateway.marvel.com/v1/public/characters/1009496/events\",\"items\":[],\"returned\":0},\"urls\":[{\"type\":\"detail\",\"url\":\"http://marvel.com/comics/characters/1009496/phoenix?utm_campaign=apiRef&utm_source=<PUBLIC_KEY>\"},{\"type\":\"wiki\",\"url\":\"http://marvel.com/universe/Phoenix_%28Jean_Grey%29?utm_campaign=apiRef&utm_source=<PUBLIC_KEY>\"}]}]}}"
86
- http_version:
87
- recorded_at: Sat, 08 Feb 2014 21:20:00 GMT
88
- recorded_with: VCR 2.8.0
@@ -1,32 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: http://gateway.marvel.com/v1/public/characters/1009496/events?apikey=<PUBLIC_KEY>&hash=f8366b9e8b1ae6c7ed29d87062efffef&ts=1391894400
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Accept:
11
- - application/json
12
- response:
13
- status:
14
- code: 200
15
- message: OK
16
- headers:
17
- Etag:
18
- - 79ef3436d0dc139b17693635b99776556e29f495
19
- Content-Type:
20
- - application/json
21
- Content-Length:
22
- - '140'
23
- Date:
24
- - Mon, 10 Feb 2014 13:18:05 GMT
25
- Connection:
26
- - keep-alive
27
- body:
28
- encoding: ASCII-8BIT
29
- string: "{\"code\":200,\"status\":\"Ok\",\"etag\":\"79ef3436d0dc139b17693635b99776556e29f495\",\"data\":{\"offset\":0,\"limit\":20,\"total\":0,\"count\":0,\"results\":[]}}"
30
- http_version:
31
- recorded_at: Sat, 08 Feb 2014 21:20:00 GMT
32
- recorded_with: VCR 2.8.0