ultron 0.0.4 → 0.1.0

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 (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