ann_wrapper 1.1.3 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5c633706a6c6f24e42f1f8bcb15df77b55438922
4
- data.tar.gz: 59bc45c410c7ee4d5f7e438002d02d264ee4f6db
3
+ metadata.gz: 1e57e389662bc751a163ecff82d950d89a79ff80
4
+ data.tar.gz: 4916dd0335181b68cef44b1ae9b75f98c2eef270
5
5
  SHA512:
6
- metadata.gz: b6388bdc6f50cb1058c36d02d5d4ae82fa50eea95bce3f7791839e15747b0e29c2ca31d68e5b0740ae07b930e6324e0d1acffbaf31dfa077939965a09aa74f2d
7
- data.tar.gz: 83aebf0d4c30a3f97b3af180773e707d727685c40d6b03757eb6a0eacec80717ea1ecf62c665d2f60db723cb77c409002fd35f191321844b1baae85c878ae4cb
6
+ metadata.gz: 1358df5bfe4a4e892cbea93af1db570b11e31c30a3b2cd31cc99664b151945470eedcef7e88caf6607cb1e2cf4a66b980d8cbb382e8c1787d36fc0f0d0267353
7
+ data.tar.gz: 666e68b082a5c2f555497b08820769a06f8b2dfe78f2fca695ba9c27d7652467d74bc5a5b10d77bf44c4b632a59bea52af02feb9c9626e5222b7a09dc98bdf68
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
+ *.swp
1
2
  *.gem
2
3
  *.rbc
3
4
  .bundle
data/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
 
4
4
  [![Gem Version](https://badge.fury.io/rb/ann_wrapper.png)](http://badge.fury.io/rb/ann_wrapper)
5
5
  [![Build Status](https://travis-ci.org/Getkura/ann_wrapper.png?branch=dev)](https://travis-ci.org/Getkura/ann_wrapper)
6
+ [![Dependency Status](https://gemnasium.com/Getkura/ann_wrapper.png)](https://gemnasium.com/Getkura/ann_wrapper)
6
7
  [![Code Climate](https://codeclimate.com/github/Getkura/ann_wrapper.png)](https://codeclimate.com/github/Getkura/ann_wrapper)
7
8
 
8
9
 
@@ -30,6 +31,9 @@ Fetch an anime:
30
31
 
31
32
  Info:
32
33
 
34
+ steins_gate.id
35
+ => "11770"
36
+
33
37
  steins_gate.title
34
38
  => ["Steins;Gate"]
35
39
 
@@ -73,27 +77,31 @@ Cast and Staff:
73
77
 
74
78
  Episodes:
75
79
 
76
- steins_gate.episodes.first
77
- => #<struct ANN_Episode number="1", title="Prologue of the Beginning and End", lang="EN">
78
-
79
80
  steins_gate.episodes.find_all {|e| e.title.include? "Prologue"}
80
81
  => [
81
82
  #<struct ANN_Episode number="1", title="Prologue of the Beginning and End", lang="EN">,
82
83
  #<struct ANN_Episode number="24", title="The Prologue Begins With the End", lang="EN">
83
84
  ]
84
85
 
86
+ steins_gate.episodes.first.to_h
87
+ => {:number=>"1", :title=>"Prologue of the Beginning and End", :lang=>"EN"}
88
+
85
89
  Images:
86
90
 
87
91
  steins_gate.images
88
92
  => [
89
93
  #<struct ANN_Image src="http://cdn.animenewsnetwork.com/thumbnails/fit200x200/encyc/A11770-1864351140.1370764886.jpg", width="200", height="125">,
90
- #<struct ANN_Image src="http://cdn.animenewsnetwork.com/thumbnails/fit200x200/encyc/A11770-8.jpg", width="200", height="200">
94
+ #<struct ANN_Image src="http://cdn.animenewsnetwork.com/thumbnails/max500x600/encyc/A11770-1864351140.1370764886.jpg", width="500", height="312">,
95
+ #<struct ANN_Image src="http://cdn.animenewsnetwork.com/images/encyc/A11770-1864351140.1370764886.jpg", width="900", height="562">,
96
+ #<struct ANN_Image src="http://cdn.animenewsnetwork.com/thumbnails/fit200x200/encyc/A11770-8.jpg", width="200", height="200">,
97
+ #<struct ANN_Image src="http://cdn.animenewsnetwork.com/thumbnails/max500x600/encyc/A11770-8.jpg", width="317", height="317">
91
98
  ]
92
99
 
93
100
 
94
101
 
95
102
 
96
103
 
104
+
97
105
  ## Contributing
98
106
 
99
107
  1. Fork it
@@ -18,11 +18,13 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.required_ruby_version = ">= 1.9"
21
+ spec.required_ruby_version = ">= 1.9"
22
22
 
23
- spec.add_runtime_dependency "nokogiri"
23
+ spec.add_runtime_dependency "nokogiri"
24
24
 
25
25
  spec.add_development_dependency "bundler", "~> 1.3"
26
26
  spec.add_development_dependency "rake"
27
27
  spec.add_development_dependency "rspec"
28
+ spec.add_development_dependency "webmock"
29
+ spec.add_development_dependency "sinatra"
28
30
  end
@@ -5,12 +5,38 @@
5
5
 
6
6
  # parent with helper methods
7
7
  class ANN
8
- private
8
+ private
9
9
  ##
10
10
  # define method with supplied name and block
11
11
  def create_method(name, &block)
12
12
  self.class.send(:define_method, name, &block)
13
13
  end
14
+
15
+ # return hash of methods and returns excluding those in excludes
16
+ def to_hash(excludes)
17
+ # get list of methods excluding above
18
+ methods = self.class.instance_methods(false).reject {|m| excludes.include? m}
19
+
20
+ # map methods and results to hash
21
+ data = methods.map do |method |
22
+ result = self.send(method)
23
+
24
+ # convert Structs to hash
25
+ if (result.is_a? Array)
26
+ result.map! do |item|
27
+ item.is_a?(Struct) ? item.hash : item
28
+ end
29
+ else
30
+ result.hash! if result.is_a?(Struct)
31
+ end
32
+
33
+ # make hash with method name and result of call
34
+ [method.to_sym, result]
35
+ end
36
+
37
+ # return hash
38
+ Hash[data]
39
+ end
14
40
  end
15
41
 
16
42
  # various ANN struct types
@@ -62,6 +88,11 @@ class ANN_Anime < ANN
62
88
  end
63
89
  end
64
90
 
91
+ # @return [String] returns anime id
92
+ def id
93
+ @id ||= @ann_anime['id']
94
+ end
95
+
65
96
  ##
66
97
  # These methods are created via create_method in the constructor
67
98
 
@@ -86,7 +117,6 @@ class ANN_Anime < ANN
86
117
  def alt_titles
87
118
  begin
88
119
  titles = find_info("Alternative title").group_by {|title| title['lang']}
89
-
90
120
  titles.each do |key, value|
91
121
  value.map! do |title|
92
122
  title.content
@@ -105,7 +135,7 @@ class ANN_Anime < ANN
105
135
  # @return [[ANN_Image]] returns array of ANN_Image
106
136
  def images
107
137
  begin
108
- @images ||= find_info("Picture").map do |i|
138
+ @images ||= find_info("Picture").xpath("//img").map do |i|
109
139
  ANN_Image.new(i['src'], i['width'], i['height'])
110
140
  end
111
141
  rescue NameError
@@ -150,6 +180,12 @@ class ANN_Anime < ANN
150
180
  nil
151
181
  end
152
182
  end
183
+
184
+ # @return [Hash] hash of self
185
+ def to_h
186
+ # create hash excluding some methods
187
+ to_hash([:to_h, :ann_anime=, :find_info])
188
+ end
153
189
  end
154
190
 
155
191
  class ANN_Report < ANN
@@ -159,7 +195,7 @@ class ANN_Report < ANN
159
195
  @ann_report = ann_report
160
196
 
161
197
  self.instance_variables.each do |iv|
162
- var_name = iv.to_s.partition("@").last
198
+ var_name = iv[1..-1]
163
199
  create_method(var_name) { get_info_on(var_name) }
164
200
  end
165
201
  end
@@ -172,4 +208,10 @@ class ANN_Report < ANN
172
208
  nil
173
209
  end
174
210
  end
211
+
212
+ # @return [Hash] hash of self
213
+ def to_h
214
+ # create hash excluding some methods
215
+ to_hash([:to_h, :ann_report, :get_info_on])
216
+ end
175
217
  end
@@ -1,3 +1,3 @@
1
1
  module AnnWrapper
2
- VERSION = "1.1.3"
2
+ VERSION = "1.1.4"
3
3
  end
@@ -0,0 +1,152 @@
1
+ require 'spec_helper'
2
+
3
+ describe ANN_Anime do
4
+
5
+ def array_of_strings(input)
6
+ expect(input).to be_instance_of Array
7
+ expect(input[0]).to be_instance_of String
8
+ end
9
+
10
+ before(:each) do
11
+ @anime = ANN_Wrapper.fetch_anime(11770)
12
+ end
13
+
14
+ describe "#id" do
15
+ it "returns a string containing an anime id" do
16
+ expect(@anime.id).to be_instance_of String
17
+ expect(@anime.id.size).to be > 0
18
+ end
19
+ it "returns the correct anime id" do
20
+ expect(@anime.id).to eql "11770"
21
+ end
22
+ end
23
+
24
+ describe "#title" do
25
+ it "returns an array of strings" do
26
+ array_of_strings(@anime.title)
27
+ end
28
+ it "returns the correct titles" do
29
+ expect(@anime.title[0]).to eql "Steins;Gate"
30
+ end
31
+ end
32
+
33
+ describe "#alt_titles" do
34
+ it "returns a hash of alternate titles" do
35
+ expect(@anime.alt_titles).to be_instance_of Hash
36
+ array_of_strings(@anime.alt_titles["JA"])
37
+ end
38
+ it "JA array is not empty" do
39
+ expect(@anime.alt_titles["JA"][0].size).to be > 0
40
+ end
41
+ end
42
+
43
+ describe "#synopsis" do
44
+ it "returns an Array containing a synopsis string" do
45
+ array_of_strings @anime.synopsis
46
+ end
47
+ it "returns the correct synopsis" do
48
+ expect(@anime.synopsis[0]).to include "Rintaro Okabe is a self-proclaimed"
49
+ end
50
+ end
51
+
52
+ describe "#num_episodes" do
53
+ it "returns an Array containing a string of the number of episodes" do
54
+ array_of_strings @anime.num_episodes
55
+ end
56
+ it "returns the correct number of episodes" do
57
+ expect(@anime.num_episodes).to eql ["24"]
58
+ end
59
+ end
60
+
61
+ describe "#vintage" do
62
+ it "returns an Array containing vintage strings" do
63
+ array_of_strings @anime.vintage
64
+ end
65
+ it "returns the correct vintage" do
66
+ expect(@anime.vintage[0]).to eql "2011-04-03 (Advanced screening)"
67
+ end
68
+ end
69
+
70
+ describe "#genres" do
71
+ it "returns an Array containing genre strings" do
72
+ array_of_strings @anime.genres
73
+ end
74
+ it "returns the correct genres" do
75
+ expect(@anime.genres[0]).to eql "adventure"
76
+ end
77
+ end
78
+
79
+ describe "#themes" do
80
+ it "returns an Array containing theme strings" do
81
+ array_of_strings @anime.themes
82
+ end
83
+ it "returns the correct themes" do
84
+ expect(@anime.themes[0]).to eql "butterfly effect"
85
+ end
86
+ end
87
+
88
+ describe "#op_theme" do
89
+ it "returns an Array containing op_theme strings" do
90
+ array_of_strings @anime.op_theme
91
+ end
92
+ it "returns the correct op themes" do
93
+ expect(@anime.op_theme[0]).to eql "\"Hacking to the Gate\" by Kanako Ito"
94
+ end
95
+ end
96
+
97
+ describe "#ed_theme" do
98
+ it "returns an Array containing ed_theme strings" do
99
+ array_of_strings @anime.ed_theme
100
+ end
101
+ it "returns the correct ed_themes" do
102
+ expect(@anime.ed_theme[2]).to eql "#3: \"Another Heaven\" by Kanako Itou (ep 24)"
103
+ end
104
+ end
105
+
106
+ describe "#cast" do
107
+ it "returns an Array containing ANN_Cast" do
108
+ expect(@anime.cast).to be_instance_of Array
109
+ expect(@anime.cast[0]).to be_instance_of ANN_Cast
110
+ end
111
+ it "correctly stores cast information in an ANN_Cast" do
112
+ first_cast = ANN_Cast.new("1386", "Yugo \"Braun\" Tennoji", "Christopher R. Sabat", "EN")
113
+ expect(@anime.cast[0]).to eql first_cast
114
+ end
115
+ end
116
+
117
+ describe "#staff" do
118
+ it "returns an Array containing ANN_Staff" do
119
+ expect(@anime.staff).to be_instance_of Array
120
+ expect(@anime.staff[1]).to be_instance_of ANN_Staff
121
+ end
122
+ it "correctly stores staff information in an ANN_Staff" do
123
+ first_staff = ANN_Staff.new("9693", "Director", "Hiroshi Hamasaki")
124
+ expect(@anime.staff[1]).to eql first_staff
125
+ end
126
+ end
127
+
128
+ describe "#images" do
129
+ it "returns an Array containing ANN_Image" do
130
+ expect(@anime.images).to be_instance_of Array
131
+ expect(@anime.images[0]).to be_instance_of ANN_Image
132
+ end
133
+ it "correctly stores image information in an ANN_Image" do
134
+ first_image = ANN_Image.new("http://cdn.animenewsnetwork.com/thumbnails/fit200x200/encyc/A11770-1864351140.1370764886.jpg", "200", "125")
135
+ expect(@anime.images[0]).to eql first_image
136
+ end
137
+ end
138
+
139
+ describe "#to_h" do
140
+ it "returns a hash of all information" do
141
+ anime_hash = @anime.to_h
142
+ expect(anime_hash).to be_instance_of Hash
143
+ expect(anime_hash[:id]).to eql "11770"
144
+ end
145
+ it "correctly converts structs to hash" do
146
+ anime_hash = @anime.to_h
147
+ staff_hash = ANN_Staff.new("9693", "Director", "Hiroshi Hamasaki").hash
148
+ expect(anime_hash[:staff][1]).to eql staff_hash
149
+ end
150
+ end
151
+ end
152
+
@@ -1,22 +1,40 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "fetch_ann_anime" do
3
+ describe ANN_Wrapper do
4
4
 
5
- context "a valid id is provided" do
6
- it "should return data for an ann anime" do
7
- anime = ANN_Wrapper.fetch_anime(11770)
8
- anime.should_not be_nil
9
- anime.title.first.should eql "Steins;Gate"
5
+ describe "#fetch_anime" do
6
+ context "valid id is provided" do
7
+ it "returns an ANN_Anime object" do
8
+ anime = ANN_Wrapper.fetch_anime(11770)
9
+ anime.should be_an_instance_of ANN_Anime
10
+ end
10
11
  end
11
- end
12
12
 
13
- context "an invalid id is provided" do
14
- it "should return an ANN_Error" do
15
- anime = ANN_Wrapper.fetch_anime(117700)
16
- anime.should_not be_nil
17
- anime.should be_kind_of(ANN_Error)
18
- anime.message.should_not be_nil
13
+ context "an invalid id is provided" do
14
+ it "returns an ANN_Error object" do
15
+ anime = ANN_Wrapper.fetch_anime(117700)
16
+ anime.should be_an_instance_of ANN_Error
17
+ end
19
18
  end
20
19
  end
21
20
 
21
+ describe "#fetch_titles" do
22
+ context "valid parameters privided" do
23
+ it "returns Array of ANN_Reports" do
24
+ reports = ANN_Wrapper.fetch_titles
25
+ reports.should be_an_instance_of Array
26
+ reports.each do |r|
27
+ r.should be_an_instance_of (ANN_Report)
28
+ end
29
+ end
30
+ end
31
+
32
+ context "invalid parameters provided" do
33
+ it "returns an empty Array" do
34
+ anime = ANN_Wrapper.fetch_titles 34
35
+ anime.should be_an_instance_of Array
36
+ anime.size.should == 0
37
+ end
38
+ end
39
+ end
22
40
  end
@@ -1,6 +1,15 @@
1
1
  require 'ann_wrapper'
2
+ require 'webmock/rspec'
3
+ require 'support/fake_ann'
4
+
5
+ WebMock.disable_net_connect!(allow_localhost: true)
2
6
 
3
7
  RSpec.configure do |config|
8
+ # route all api requests to fake api
9
+ config.before(:each) do
10
+ stub_request(:any, /cdn.animenewsnetwork.com/).to_rack(FakeANN)
11
+ end
12
+
4
13
  # Use color in STDOUT
5
14
  config.color_enabled = true
6
15
 
@@ -0,0 +1,21 @@
1
+ require 'sinatra/base'
2
+
3
+ class FakeANN < Sinatra::Base
4
+ get '/encyclopedia/api.xml' do
5
+ case params[:anime]
6
+ when "11770"
7
+ xml_response 200, 'steins_gate.xml'
8
+ else
9
+ xml_response 200, 'no_result.xml'
10
+ end
11
+ end
12
+
13
+ private
14
+
15
+ def xml_response(response_code, file_name)
16
+ content_type :xml
17
+ status response_code
18
+ body File.open("#{File.dirname(__FILE__)}/fixtures/#{file_name}", 'rb').read
19
+ end
20
+ end
21
+
@@ -0,0 +1 @@
1
+ <ann><warning>no result for anime=117700</warning></ann>
@@ -0,0 +1,247 @@
1
+ <ann><anime id="11770" gid="3907583141" type="TV" name="Steins;Gate" precision="TV" generated-on="2014-02-01T07:48:23Z">
2
+ <info gid="1864351140" type="Picture" src="http://cdn.animenewsnetwork.com/thumbnails/fit200x200/encyc/A11770-1864351140.1370764886.jpg" width="200" height="125"><img src="http://cdn.animenewsnetwork.com/thumbnails/fit200x200/encyc/A11770-1864351140.1370764886.jpg" width="200" height="125"/><img src="http://cdn.animenewsnetwork.com/thumbnails/max500x600/encyc/A11770-1864351140.1370764886.jpg" width="500" height="312"/><img src="http://cdn.animenewsnetwork.com/images/encyc/A11770-1864351140.1370764886.jpg" width="900" height="562"/></info>
3
+ <info gid="2893564300" type="Picture" src="http://cdn.animenewsnetwork.com/thumbnails/fit200x200/encyc/A11770-8.jpg" width="200" height="200"><img src="http://cdn.animenewsnetwork.com/thumbnails/fit200x200/encyc/A11770-8.jpg" width="200" height="200"/><img src="http://cdn.animenewsnetwork.com/thumbnails/max500x600/encyc/A11770-8.jpg" width="317" height="317"/></info>
4
+ <info gid="1370260427" type="Main title" lang="JA">Steins;Gate</info>
5
+ <info gid="2774671084" type="Alternative title" lang="PT">Steins-Gate e a Teoria do Caos</info>
6
+ <info gid="2578893998" type="Alternative title" lang="JA">シュタインズ・ゲート</info>
7
+ <info gid="1665915370" type="Alternative title" lang="ZH-TW">命運石之門</info>
8
+ <info gid="1694538789" type="Alternative title" lang="KO">슈타인즈 게이트</info>
9
+ <info gid="1850278786" type="Genres">adventure</info>
10
+ <info gid="2850340911" type="Genres">comedy</info>
11
+ <info gid="1938643338" type="Genres">drama</info>
12
+ <info gid="2585092835" type="Genres">mystery</info>
13
+ <info gid="1338352085" type="Genres">psychological</info>
14
+ <info gid="2569146284" type="Genres">romance</info>
15
+ <info gid="1301538695" type="Genres">science fiction</info>
16
+ <info gid="3164817411" type="Genres">thriller</info>
17
+ <info gid="1775306284" type="Themes">butterfly effect</info>
18
+ <info gid="470020657" type="Themes">conspiracy</info>
19
+ <info gid="2931273993" type="Themes">technology</info>
20
+ <info gid="3676887126" type="Themes">Time travel</info>
21
+ <info gid="2673674224" type="Objectionable content">TA</info>
22
+ <info gid="1679735241" type="Plot Summary">Rintaro Okabe is a self-proclaimed "mad scientist" who believes that an international scientific organization named SERN is conspiring to reshape the world according to its own interests. He and his friend Itaru Hashida inadvertently create a gadget able to send messages to the past. The discovery and experimentation of this instrument become the catalyst of fundamental alterations to the present. Okabe is the only one aware of these changes because he possesses a Reading Steiner, the ability to retain the memories from previous experienced timelines. Oblivious of the consequences of their actions, Rintaro and his friends end up creating modifications of grievous proportions. He must then try to find a way to return as close as possible to the original timeline in order to save his precious lab partners.</info>
23
+ <info gid="1746069252" type="Running time">half hour</info>
24
+ <info gid="2268120855" type="Number of episodes">24</info>
25
+ <info gid="1580057252" type="Vintage">2011-04-03 (Advanced screening)</info>
26
+ <info gid="978621226" type="Vintage">2011-04-05 to 2011-09-13</info>
27
+ <info gid="1764714377" type="Opening Theme">"Hacking to the Gate" by Kanako Ito</info>
28
+ <info gid="1778834947" type="Ending Theme">"Tokitsukasadoru Jūni no Meiyaku" (刻司ル十二ノ盟約) by Yui Sakakibara</info>
29
+ <info gid="2878363404" type="Ending Theme">#2: "Sukai Kuraddo no Kansokusha" (スカイクラッドの観測者) by Kanako Ito (ep 23)</info>
30
+ <info gid="2705161280" type="Ending Theme">#3: "Another Heaven" by Kanako Itou (ep 24)</info>
31
+ <info gid="830513243" type="Insert song">"My White Ribbon" by Afilia Saga East (ep 9)</info>
32
+ <info gid="3815310299" type="Insert song">"Watashi ☆LOVE na☆ Otome!" (ワタシ☆LOVEな☆オトメ!) by Afilia Saga East (eps 2,9)</info>
33
+ <info gid="1555341449" type="Official website" lang="JA" href="http://steinsgate.jp/">想定科学ADV『STEINS;GATE(シュタインズゲート)』公式Webサイト</info>
34
+ <info gid="2038747414" type="Official website" lang="JA" href="http://steinsgate.tv/">TVアニメ「STEINS;GATE」公式サイト</info>
35
+ <episode num="1">
36
+ <title gid="3773691252" lang="EN">Prologue of the Beginning and End</title></episode>
37
+ <episode num="2">
38
+ <title gid="844276147" lang="EN">Paranoia of Time Leaps</title></episode>
39
+ <episode num="3">
40
+ <title gid="3297624394" lang="EN">Paranoia of Parallel Process</title></episode>
41
+ <episode num="4">
42
+ <title gid="654944067" lang="EN">Rendezvous of Abstract Fluctuation</title></episode>
43
+ <episode num="5">
44
+ <title gid="1371638685" lang="EN">Rendezvous of Electrical Charge Conflict</title></episode>
45
+ <episode num="6">
46
+ <title gid="1600572593" lang="EN">Divergence of Butterfly Effect</title></episode>
47
+ <episode num="7">
48
+ <title gid="1772908421" lang="EN">Divergence of Fault</title></episode>
49
+ <episode num="8">
50
+ <title gid="2730790812" lang="EN">Homeostasis of Dreams</title></episode>
51
+ <episode num="9">
52
+ <title gid="2240294271" lang="EN">Homeostasis of Illusions</title></episode>
53
+ <episode num="10">
54
+ <title gid="1241489002" lang="EN">Homeostasis of Complements</title></episode>
55
+ <episode num="11">
56
+ <title gid="1398058664" lang="EN">Dogma of Space-Time Boundary</title></episode>
57
+ <episode num="12">
58
+ <title gid="2379761107" lang="EN">Dogma of Static Limit</title></episode>
59
+ <episode num="13">
60
+ <title gid="1165288472" lang="EN">Metaphysical Necrosis</title></episode>
61
+ <episode num="14">
62
+ <title gid="1106961762" lang="EN">Physical Necrosis</title></episode>
63
+ <episode num="15">
64
+ <title gid="1293663014" lang="EN">Missing Link Necrosis</title></episode>
65
+ <episode num="16">
66
+ <title gid="2852136780" lang="EN">Sacrificial Necrosis</title></episode>
67
+ <episode num="17">
68
+ <title gid="3100715542" lang="EN">Made in Complex</title></episode>
69
+ <episode num="18">
70
+ <title gid="2195800898" lang="EN">Fractal Androgynous</title></episode>
71
+ <episode num="19">
72
+ <title gid="2790889510" lang="EN">Endless Apoptosis</title></episode>
73
+ <episode num="20">
74
+ <title gid="723785988" lang="EN">Finalize Apoptosis</title></episode>
75
+ <episode num="21">
76
+ <title gid="2308935703" lang="EN">Paradox Meltdown</title></episode>
77
+ <episode num="22">
78
+ <title gid="3705230679" lang="EN">Being Meltdown</title></episode>
79
+ <episode num="23">
80
+ <title gid="2151373469" lang="EN">Open the Steins Gate</title></episode>
81
+ <episode num="24">
82
+ <title gid="2567092354" lang="EN">The Prologue Begins With the End</title></episode>
83
+ <episode num="25">
84
+ <title gid="2241486390" lang="EN">Egoistic Poriomania</title></episode>
85
+ <review href="http://www.animenewsnetwork.com/review/steins-gate/bd+dvd-2">Steins;Gate BD+DVD 2</review>
86
+ <review href="http://www.animenewsnetwork.com/review/steins-gate/bd+dvd-1">Steins;Gate BD+DVD 1</review>
87
+ <review href="http://www.animenewsnetwork.com/review/steins-gate/episodes-1">Steins;Gate Episodes 1-24 Streaming</review>
88
+ <release date="2013-07-15" href="http://www.animenewsnetwork.com/encyclopedia/releases.php?id=24296">Steins;Gate - Part 1 (Blu-Ray)</release>
89
+ <release date="2013-09-30" href="http://www.animenewsnetwork.com/encyclopedia/releases.php?id=24299">Steins;Gate - Part 2 (Blu-Ray)</release>
90
+ <release date="2012-09-25" href="http://www.animenewsnetwork.com/encyclopedia/releases.php?id=24847">Steins;Gate - Complete Series Part One (BD+DVD 1)</release>
91
+ <release date="2012-09-25" href="http://www.animenewsnetwork.com/encyclopedia/releases.php?id=21325">Steins;Gate - Complete Series Part One [Limited Edition] (BD+DVD 1)</release>
92
+ <release date="2012-12-18" href="http://www.animenewsnetwork.com/encyclopedia/releases.php?id=22023">Steins;Gate - Complete Series Part Two (BD+DVD 2)</release>
93
+ <release date="2013-07-15" href="http://www.animenewsnetwork.com/encyclopedia/releases.php?id=24297">Steins;Gate - Part 1 (DVD)</release>
94
+ <release date="2013-09-30" href="http://www.animenewsnetwork.com/encyclopedia/releases.php?id=24298">Steins;Gate - Part 2 (DVD)</release>
95
+ <news datetime="2011-03-11T11:33:53Z" href="http://www.animenewsnetwork.com/news/2011-03-11/anime/manga/game-events-cancelled-after-march-11-quake">Anime/Manga/Game Events Cancelled After March 11 Quake</news>
96
+ <news datetime="2011-04-04T16:34:32Z" href="http://www.animenewsnetwork.com/news/2011-04-04/crunchyroll-to-simulcast-steins-gate-tv-anime">Crunchyroll to Simulcast &lt;cite&gt;Steins;Gate&lt;/cite&gt; TV Anime</news>
97
+ <news datetime="2011-04-08T13:27:02Z" href="http://www.animenewsnetwork.com/news/2011-04-08/anime-on-demand-announces-next-three-simulcasts">Anime on Demand Announces Next Three Simulcasts</news>
98
+ <news datetime="2011-05-10T23:30:00Z" href="http://www.animenewsnetwork.com/news/2011-05-10/california-fanime-hosts-hiroyuki-yamaga-halko-momoi">California's Fanime Hosts Hiroyuki Yamaga, Halko Momoi</news>
99
+ <news datetime="2011-05-11T18:30:00Z" href="http://www.animenewsnetwork.com/news/2011-05-11/anime-central-to-host-hetalia-shirohata-nomura">Anime Central to Host &lt;cite&gt;Hetalia's&lt;/cite&gt; Shirohata, Nomura</news>
100
+ <news datetime="2011-06-18T03:57:00Z" href="http://www.animenewsnetwork.com/news/2011-06-17/north-american-stream-list/june-10-17">North American Stream List: June 10-17</news>
101
+ <news datetime="2011-07-02T03:04:34Z" href="http://www.animenewsnetwork.com/news/2011-07-01/funimation-adds-deadman-wonderland-steins-gate-more">Funimation Adds &lt;cite&gt;Deadman Wonderland, Steins;Gate&lt;/cite&gt;, More</news>
102
+ <news datetime="2011-07-06T14:30:00Z" href="http://www.animenewsnetwork.com/news/2011-07-06/north-american-stream-list/june-25-july-4">North American Stream List: June 25–July 4</news>
103
+ <news datetime="2011-07-07T01:30:00Z" href="http://www.animenewsnetwork.com/news/2011-07-06/montreal-otakuthon-to-host-voice-actress-halko-mamoi">Montreal's Otakuthon to Host Voice Actress Halko Momoi</news>
104
+ <news datetime="2011-07-10T02:30:00Z" href="http://www.animenewsnetwork.com/news/2011-07-09/north-american-stream-list/july-4-8">North American Stream List: July 4–8</news>
105
+ <news datetime="2011-07-12T08:45:00Z" href="http://www.animenewsnetwork.com/news/2011-07-12/japan-animation-blu-ray-disc-ranking/july-4-10">Japan's Animation Blu-ray Disc Ranking: July 4-10</news>
106
+ <news datetime="2011-07-25T03:30:00Z" href="http://www.animenewsnetwork.com/news/2011-07-24/north-american-stream-list/july-16-22">North American Stream List: July 16-24</news>
107
+ <news datetime="2011-08-05T19:00:00Z" href="http://www.animenewsnetwork.com/news/2011-08-05/north-american-stream-list/july-31-august-5">North American Stream List: July 31–August 5</news>
108
+ <news datetime="2011-08-30T12:00:00Z" href="http://www.animenewsnetwork.com/news/2011-08-30/japan-animation-blu-ray-disc-ranking/august-22-28">Japan's Animation Blu-ray Disc Ranking: August 22-28</news>
109
+ <news datetime="2011-09-13T08:30:00Z" href="http://www.animenewsnetwork.com/news/2011-09-13/japan-animation-blu-ray-disc-ranking/september-5-11">Japan's Animation Blu-ray Disc Ranking: September 5-11</news>
110
+ <news datetime="2011-09-20T08:45:00Z" href="http://www.animenewsnetwork.com/news/2011-09-20/japan-animation-blu-ray-disc-ranking/september-12-18">Japan's Animation Blu-ray Disc Ranking: September 12-18</news>
111
+ <news datetime="2011-09-27T00:00:00Z" href="http://www.animenewsnetwork.com/news/2011-09-26/singapore-anime-festival-asia-announces-guest-lineup-theme-song">Singapore's Anime Festival Asia Announces Guest Lineup, Theme Song</news>
112
+ <news datetime="2011-09-27T08:45:00Z" href="http://www.animenewsnetwork.com/news/2011-09-27/japan-animation-blu-ray-disc-ranking/september-19-25">Japan's Animation Blu-ray Disc Ranking: September 19-25</news>
113
+ <news datetime="2011-10-04T11:45:00Z" href="http://www.animenewsnetwork.com/news/2011-10-04/japan-animation-blu-ray-disc-ranking/september-26-october-2">Japan's Animation Blu-ray Disc Ranking: September 26-October 2</news>
114
+ <news datetime="2011-10-09T17:45:00Z" href="http://www.animenewsnetwork.com/news/2011-10-09/madoka-magica-wins-12-of-21-newtype-anime-awards">&lt;cite&gt;Madoka Magica&lt;/cite&gt; Wins 12 of 21 Newtype Anime Awards</news>
115
+ <news datetime="2011-10-15T21:40:58Z" href="http://www.animenewsnetwork.com/news/2011-10-15/game-by-metal-gear-kojima-5pb-shikura-has-anime-plans">Game by &lt;cite&gt;Metal Gear's&lt;/cite&gt; Kojima, 5pb's Shikura Has Anime Plans</news>
116
+ <news datetime="2011-10-18T10:10:00Z" href="http://www.animenewsnetwork.com/news/2011-10-18/japan-animation-blu-ray-disc-ranking/october-10-16">Japan's Animation Blu-ray Disc Ranking: October 10-16</news>
117
+ <news datetime="2011-11-01T09:00:07Z" href="http://www.animenewsnetwork.com/news/2011-11-01/japan-animation-blu-ray-disc-ranking/october-24-30">Japan's Animation Blu-ray Disc Ranking: October 24-30</news>
118
+ <news datetime="2011-11-29T10:15:55Z" href="http://www.animenewsnetwork.com/news/2011-11-29/japan-animation-blu-ray-disc-ranking/november-21-27">Japan's Animation Blu-ray Disc Ranking: November 21-27</news>
119
+ <news datetime="2011-12-15T14:50:00Z" href="http://www.animenewsnetwork.com/news/2011-12-15/angel-beats/p4-kishi-directs-jinrui-wa-suitai-shimashita">&lt;cite&gt;Angel Beats/P4's&lt;/cite&gt; Kishi Directs &lt;cite&gt;Jinrui wa Suitai Shimashita&lt;/cite&gt;</news>
120
+ <news datetime="2011-12-17T10:36:18Z" href="http://www.animenewsnetwork.com/news/2011-12-17/jormungand-action-manga-gets-tv-anime-by-white-fox">&lt;cite&gt;Jormungand&lt;/cite&gt; Action Manga Gets TV Anime by White Fox</news>
121
+ <news datetime="2011-12-21T16:33:10Z" href="http://www.animenewsnetwork.com/news/2011-12-22/new-titles-streaming-on-madman-website">New Titles Streaming on Madman Website</news>
122
+ <news datetime="2011-12-27T21:45:00Z" href="http://www.animenewsnetwork.com/news/2011-12-27/1st-anime-contents-expo-title-list-announced">1st Anime Contents Expo's Title List Announced</news>
123
+ <news datetime="2011-12-29T05:55:31Z" href="http://www.animenewsnetwork.com/news/2011-12-29/jormungand-action-tv-anime-1st-promo-streamed">&lt;cite&gt;Jormungand&lt;/cite&gt; Action TV Anime's 1st Promo Streamed</news>
124
+ <news datetime="2012-01-08T17:00:22Z" href="http://www.animenewsnetwork.com/news/2012-01-09/free-anime-in-au-update/8/jan-to-14/jan">Free Anime in AU Update: 8/Jan to 14/Jan</news>
125
+ <news datetime="2012-01-05T04:00:00Z" href="http://www.animenewsnetwork.com/news/2012-01-04/happening-star-independent-film-trailer-streamed">&lt;cite&gt;Happening Star✩&lt;/cite&gt; Independent CG Anime Film's Trailer Streamed</news>
126
+ <news datetime="2012-01-18T15:55:14Z" href="http://www.animenewsnetwork.com/news/2012-01-19/madman-acquires-waiting-in-the-summer-for-online-streaming">Madman Acquires Waiting in the Summer, Will Stream Online</news>
127
+ <news datetime="2012-01-31T09:20:00Z" href="http://www.animenewsnetwork.com/news/2012-01-31/japan-animation-blu-ray-disc-ranking/january-23-29">Japan's Animation Blu-ray Disc Ranking: January 23-29</news>
128
+ <news datetime="2012-02-06T05:06:48Z" href="http://www.animenewsnetwork.com/news/2012-02-06/free-anime-in-au-update6febto12feb">Free Anime in AU Update: 6/Feb to 12/Feb</news>
129
+ <news datetime="2012-04-19T15:49:11Z" href="http://www.animenewsnetwork.com/news/2012-04-19/steins-gate-game-first-drama-cd-gets-manga">&lt;cite&gt;Steins;Gate&lt;/cite&gt; Game's First Drama CD Gets Manga</news>
130
+ <news datetime="2012-05-21T10:53:20Z" href="http://www.animenewsnetwork.com/news/2012-05-21/steins-gate-will-definitely-get-u.k-release-says-manga">&lt;i&gt;Steins;Gate&lt;/i&gt; Will Definitely Get U.K. Release, Says Manga</news>
131
+ <news datetime="2012-07-18T21:00:00Z" href="http://www.animenewsnetwork.com/news/2012-07-18/funimation-reveals-steins-gate-english-dub-cast">Funimation Reveals &lt;cite&gt;Steins;Gate's&lt;/cite&gt; English Dub Cast</news>
132
+ <news datetime="2012-09-25T23:15:00Z" href="http://www.animenewsnetwork.com/news/2012-09-25/north-american-anime-manga-releases-september-23-29">North American Anime, Manga Releases, September 23-29</news>
133
+ <news datetime="2012-10-25T01:03:18Z" href="http://www.animenewsnetwork.com/news/2012-10-24/funimation-delays-several-november-january-titles">Funimation Delays Several November-January Titles</news>
134
+ <news datetime="2012-12-18T22:30:00Z" href="http://www.animenewsnetwork.com/news/2012-12-18/north-american-anime-manga-releases-december-16-22">North American Anime, Manga Releases, December 16-22</news>
135
+ <news datetime="2013-03-01T08:17:47Z" href="http://www.animenewsnetwork.com/news/2013-03-01/australian-release-list-march-2013">Australian Release List - March 2013</news>
136
+ <news datetime="2013-02-12T17:36:00Z" href="http://www.animenewsnetwork.com/news/2013-02-12/manga-to-release-steins-gate-on-blu-ray-and-dvd">Manga to Release &lt;i&gt;Steins;Gate&lt;/i&gt; on Blu-ray and DVD</news>
137
+ <news datetime="2013-04-09T11:02:48Z" href="http://www.animenewsnetwork.com/news/2013-04-09/steins-gate-fuka-ryoiki-no-deja-vu-film-2nd-trailer-streamed">&lt;cite&gt;Steins;Gate Fuka Ryōiki no Déjà vu&lt;/cite&gt; Film's 2nd Trailer Streamed</news>
138
+ <news datetime="2013-05-31T10:19:34Z" href="http://www.animenewsnetwork.com/news/2013-05-31/teekyu-second-season-1st-promo-streamed">&lt;cite&gt;Teekyū&lt;/cite&gt; Anime's Second Season's 1st Promo Streamed</news>
139
+ <news datetime="2013-07-14T11:19:21Z" href="http://www.animenewsnetwork.com/news/2013-07-14/steins-gate-and-is-this-a-zombie-released-monday">&lt;i&gt;Steins;Gate&lt;/i&gt; and &lt;i&gt;Is This a Zombie&lt;/i&gt; Released Monday</news>
140
+ <news datetime="2013-08-13T03:19:19Z" href="http://www.animenewsnetwork.com/news/2013-08-12/rozen-maiden-game-slated-for-november">&lt;cite&gt;Rozen Maiden&lt;/cite&gt; Game Slated for November</news>
141
+ <news datetime="2013-10-07T01:00:00Z" href="http://www.animenewsnetwork.com/news/2013-10-06/mamoru-miyano-to-sing-2nd-wooser-hand-to-mouth-life-season-theme">Mamoru Miyano to Sing 2nd &lt;cite&gt;Wooser's Hand-to-Mouth Life&lt;/cite&gt; Season's Theme</news>
142
+ <news datetime="2013-10-05T14:42:07Z" href="http://www.animenewsnetwork.com/news/2013-10-05/leeds-anime-day-line-up-confimed">Leeds Anime Day Line Up Confimed</news>
143
+ <news datetime="2013-11-07T10:09:49Z" href="http://www.animenewsnetwork.com/news/2013-11-07/leeds-anime-day-november-17">Leeds Anime Day November 17</news>
144
+ <news datetime="2013-11-19T11:55:32Z" href="http://www.animenewsnetwork.com/news/2013-11-19/steins-gate-film-2nd-dvd/bd-promo-tv-ad-streamed">&lt;cite&gt;Steins;Gate&lt;/cite&gt; Film's 2nd DVD/BD Promo, TV Ad Streamed</news>
145
+ <news datetime="2014-01-15T04:52:08Z" href="http://www.animenewsnetwork.com/news/2014-01-14/jast-usa-delays-steins-gate-pc-game-until-march-31">JAST USA Delays &lt;i&gt;Steins;Gate&lt;/i&gt; PC Game Until March 31</news>
146
+ <staff gid="1755272986"><task>Director</task><person id="593">Takuya Satō</person></staff>
147
+ <staff gid="1176923263"><task>Director</task><person id="9693">Hiroshi Hamasaki</person></staff>
148
+ <staff gid="760045321"><task>Director</task><person id="35713">Tomoki Kobayashi</person></staff>
149
+ <staff gid="3649906323"><task>Series Composition</task><person id="16408">Jukki Hanada</person></staff>
150
+ <staff gid="3494656163"><task>Script</task><person id="11608">Toshizo Nemoto</person></staff>
151
+ <staff gid="2129006805"><task>Script</task><person id="16408">Jukki Hanada</person></staff>
152
+ <staff gid="494846502"><task>Script</task><person id="32136">Masahiro Yokotani</person></staff>
153
+ <staff gid="3577163477"><task>Storyboard</task><person id="403">Kanji Wakabayashi</person></staff>
154
+ <staff gid="3624345405"><task>Storyboard</task><person id="593">Takuya Satō</person></staff>
155
+ <staff gid="2356852936"><task>Storyboard</task><person id="669">Kazuhiro Ozawa</person></staff>
156
+ <staff gid="3394081969"><task>Storyboard</task><person id="5455">Shinji Satoh</person></staff>
157
+ <staff gid="2214683027"><task>Storyboard</task><person id="9693">Hiroshi Hamasaki</person></staff>
158
+ <staff gid="1837334239"><task>Storyboard</task><person id="10610">Toshiyuki Kato</person></staff>
159
+ <staff gid="2978909096"><task>Storyboard</task><person id="21263">Shigetaka Ikeda</person></staff>
160
+ <staff gid="1661725673"><task>Storyboard</task><person id="35713">Tomoki Kobayashi</person></staff>
161
+ <staff gid="1996663266"><task>Storyboard</task><person id="45891">Masato Suma</person></staff>
162
+ <staff gid="3217399841"><task>Storyboard</task><person id="101480">Ken'ichirō Murakawa</person></staff>
163
+ <staff gid="2661576800"><task>Episode Director</task><person id="403">Kanji Wakabayashi</person></staff>
164
+ <staff gid="2008726157"><task>Episode Director</task><person id="593">Takuya Satō</person></staff>
165
+ <staff gid="4150717179"><task>Episode Director</task><person id="669">Kazuhiro Ozawa</person></staff>
166
+ <staff gid="1163657886"><task>Episode Director</task><person id="9693">Hiroshi Hamasaki</person></staff>
167
+ <staff gid="1289621333"><task>Episode Director</task><person id="11890">Hiroyuki Tsuchiya</person></staff>
168
+ <staff gid="2866359127"><task>Episode Director</task><person id="21263">Shigetaka Ikeda</person></staff>
169
+ <staff gid="2526739931"><task>Episode Director</task><person id="32691">Tomoko Hiramuki</person></staff>
170
+ <staff gid="1693605332"><task>Episode Director</task><person id="35713">Tomoki Kobayashi</person></staff>
171
+ <staff gid="2280159889"><task>Episode Director</task><person id="65504">Hisato Shimoda</person></staff>
172
+ <staff gid="1497545402"><task>Episode Director</task><person id="80557">Yoshito Mikan</person></staff>
173
+ <staff gid="2489977984"><task>Episode Director</task><person id="84034">Yuzuru Tachikawa</person></staff>
174
+ <staff gid="2741048841"><task>Episode Director</task><person id="102320">Kouji Kobayashi</person></staff>
175
+ <staff gid="2753911330"><task>Unit Director</task><person id="403">Kanji Wakabayashi</person></staff>
176
+ <staff gid="3195743301"><task>Unit Director</task><person id="593">Takuya Satō</person></staff>
177
+ <staff gid="2358386598"><task>Music</task><person id="73732">Takeshi Abo</person></staff>
178
+ <staff gid="1886494578"><task>Music</task><person id="107471">Jun Murakami</person></staff>
179
+ <staff gid="1914736004"><task>Original Character Design</task><person id="86803">huke</person></staff>
180
+ <staff gid="3415349833"><task>Character Design</task><person id="75758">Kyuta Sakai</person></staff>
181
+ <staff gid="1279760209"><task>Art Director</task><person id="60130">Koji Eto</person></staff>
182
+ <staff gid="1875136686"><task>Chief Animation Director</task><person id="75758">Kyuta Sakai</person></staff>
183
+ <staff gid="2805299139"><task>Animation Director</task><person id="403">Kanji Wakabayashi</person></staff>
184
+ <staff gid="2483935787"><task>Animation Director</task><person id="4664">Itsuko Takeda</person></staff>
185
+ <staff gid="3825141482"><task>Animation Director</task><person id="5113">Atsushi Aono</person></staff>
186
+ <staff gid="2313651264"><task>Animation Director</task><person id="11461">Masahiko Nakata</person></staff>
187
+ <staff gid="1348103787"><task>Animation Director</task><person id="23248">Kazuyuki Matsubara</person></staff>
188
+ <staff gid="1376060124"><task>Animation Director</task><person id="27249">Taro Ikegami</person></staff>
189
+ <staff gid="2280492963"><task>Animation Director</task><person id="28003">Kazuhisa Nakamura</person></staff>
190
+ <staff gid="2629073799"><task>Animation Director</task><person id="28012">Takeshi Ninomiya</person></staff>
191
+ <staff gid="3377362199"><task>Animation Director</task><person id="30342">Yoshiya Yamamoto</person></staff>
192
+ <staff gid="3694573174"><task>Animation Director</task><person id="31780">Tomoshige Inayoshi</person></staff>
193
+ <staff gid="3061529585"><task>Animation Director</task><person id="31781">Asako Inayoshi</person></staff>
194
+ <staff gid="2429102945"><task>Animation Director</task><person id="34448">Daisuke Takemoto</person></staff>
195
+ <staff gid="2008359226"><task>Animation Director</task><person id="36241">Takashi Igari</person></staff>
196
+ <staff gid="1382126241"><task>Animation Director</task><person id="36451">Tsuyoshi Kawada</person></staff>
197
+ <staff gid="1769891428"><task>Animation Director</task><person id="40241">Tensho Sato</person></staff>
198
+ <staff gid="2808482061"><task>Animation Director</task><person id="40602">Nobuhiro Arai</person></staff>
199
+ <staff gid="2678207841"><task>Animation Director</task><person id="75758">Kyuta Sakai</person></staff>
200
+ <staff gid="1855864767"><task>Animation Director</task><person id="78000">Hiroyuki Yoshii</person></staff>
201
+ <staff gid="1221343148"><task>Animation Director</task><person id="85394">Enishi Ōshima</person></staff>
202
+ <staff gid="1134612001"><task>3D Director</task><person id="54465">Hiroshi Souma</person></staff>
203
+ <staff gid="2407390289"><task>Sound Director</task><person id="7841">Fusanobu Fujiyama</person></staff>
204
+ <staff gid="1000358453"><task>Director of Photography</task><person id="40446">Keisuke Nakamura</person></staff>
205
+ <staff gid="3234213056"><task>Producer</task><person id="35013">Shinsaku Tanaka</person></staff>
206
+ <staff gid="2430159004"><task>Producer</task><person id="39394">Kozue Kananiwa</person></staff>
207
+ <staff gid="2828054498"><task>Producer</task><person id="50126">Yoshito Danno</person></staff>
208
+ <staff gid="2438292488"><task>Producer</task><person id="51941">Takayuki Matsunaga</person></staff>
209
+ <staff gid="3552431102"><task>Producer</task><person id="77911">Kenjirou Gomi</person></staff>
210
+ <staff gid="2172519109"><task>Producer</task><person id="98396">Yoshinao Doi</person></staff>
211
+ <cast gid="2966385551" lang="EN"><role>Yugo "Braun" Tennoji</role><person id="1386">Christopher R. Sabat</person></cast>
212
+ <cast gid="2855120078" lang="EN"><role>Nae Tennoji</role><person id="31220">Brina Palencia</person></cast>
213
+ <cast gid="1885084205" lang="EN"><role>Kurisu Makise</role><person id="58419">Trina Nishimura</person></cast>
214
+ <cast gid="2604384678" lang="EN"><role>Suzuha Amane</role><person id="64331">Cherami Leigh</person></cast>
215
+ <cast gid="3390236191" lang="EN"><role>Rintaro Okabe</role><person id="65527">J. Michael Tatum</person></cast>
216
+ <cast gid="387662540" lang="EN"><role>Faris Nyannyan</role><person id="71281">Jad Saxton</person></cast>
217
+ <cast gid="974375242" lang="EN"><role>Ruka Urushibara</role><person id="83913">Lindsay Seidel</person></cast>
218
+ <cast gid="3228476880" lang="EN"><role>Itaru "Daru" Hashida</role><person id="85022">Tyson Rinehart</person></cast>
219
+ <cast gid="3089478478" lang="EN"><role>Moeka Kiryu</role><person id="93816">Jessica Cavanagh</person></cast>
220
+ <cast gid="280562492" lang="EN"><role>Mayuri Shiina</role><person id="111977">Jackie Ross</person></cast>
221
+ <cast gid="1431252936" lang="IT"><role>Moeka Kiryū</role><person id="26049">Laura Lenghi</person></cast>
222
+ <cast gid="1081938348" lang="IT"><role>Itaru Hashida</role><person id="26370">Paolo Vivio</person></cast>
223
+ <cast gid="3109721235" lang="IT"><role>Yūgo Tennōji</role><person id="27600">Roberto Draghetti</person></cast>
224
+ <cast gid="2182485928" lang="IT"><role>Rintarō Okabe</role><person id="35847">David Chevalier</person></cast>
225
+ <cast gid="1413308628" lang="IT"><role>Mayuri Shiina</role><person id="44700">Eva Padoan</person></cast>
226
+ <cast gid="2189771722" lang="IT"><role>Kurisu Makise</role><person id="51110">Rachele Paolelli</person></cast>
227
+ <cast gid="2238496183" lang="IT"><role>Suzuha Amane</role><person id="61334">Valentina Favazza</person></cast>
228
+ <cast gid="2210752139" lang="IT"><role>Ruka Urushibara</role><person id="103410">Giulia Tarquini</person></cast>
229
+ <cast gid="2665403409" lang="IT"><role>Faris Nyannyan</role><person id="113996">Emanuela Ionica</person></cast>
230
+ <cast gid="2745099958" lang="JA"><role>Suzuha Amane</role><person id="524">Yukari Tamura</person></cast>
231
+ <cast gid="1587595284" lang="JA"><role>Itaru Hashida</role><person id="529">Tomokazu Seki</person></cast>
232
+ <cast gid="3757224356" lang="JA"><role>Faris Nyannyan</role><person id="5595">Halko Momoi</person></cast>
233
+ <cast gid="889929749" lang="JA"><role>Kurisu Makise</role><person id="9744">Asami Imai</person></cast>
234
+ <cast gid="2302101012" lang="JA"><role>Rintarō Okabe</role><person id="10397">Mamoru Miyano</person></cast>
235
+ <cast gid="2921537941" lang="JA"><role>Ruka Urushibara</role><person id="16095">Yu Kobayashi</person></cast>
236
+ <cast gid="2499898270" lang="JA"><role>Yūgo Tennōji</role><person id="21471">Masaki Terasoma</person></cast>
237
+ <cast gid="3574697137" lang="JA"><role>Moeka Kiryū</role><person id="25957">Saori Goto</person></cast>
238
+ <cast gid="3936561558" lang="JA"><role>Mayuri Shiina</role><person id="53741">Kana Hanazawa</person></cast>
239
+ <cast gid="2427956698" lang="JA"><role>Nae Tennōji</role><person id="89468">Ayano Yamamoto</person></cast>
240
+ <credit gid="3850233315"><task>Animation Production</task><company id="6989">WHITE FOX</company></credit>
241
+ <credit gid="2382259488"><task>Production</task><company id="52">MOVIC</company></credit>
242
+ <credit gid="806258763"><task>Production</task><company id="82">Kadokawa Shoten</company></credit>
243
+ <credit gid="2657947874"><task>Production</task><company id="369">Media Factory</company></credit>
244
+ <credit gid="1532017982"><task>Production</task><company id="518">AT-X</company></credit>
245
+ <credit gid="2461689521"><task>Production</task><company id="1583">Nitroplus</company></credit>
246
+ <credit gid="3411086415"><task>Production</task><company id="1805">Frontier Works</company></credit>
247
+ <credit gid="2158024562"><task>Production</task><company id="9941">Future Gadget Lab</company></credit></anime></ann>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ann_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - shawntoffel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-12 00:00:00.000000000 Z
11
+ date: 2014-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: sinatra
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  description: A simple wrapper for the Anime News Network API
70
98
  email:
71
99
  - getkura+ann_wrapper@gmail.com
@@ -83,8 +111,12 @@ files:
83
111
  - lib/ann_wrapper.rb
84
112
  - lib/ann_wrapper/ann_objects.rb
85
113
  - lib/ann_wrapper/version.rb
114
+ - spec/ann_anime_spec.rb
86
115
  - spec/ann_wrapper_spec.rb
87
116
  - spec/spec_helper.rb
117
+ - spec/support/fake_ann.rb
118
+ - spec/support/fixtures/no_result.xml
119
+ - spec/support/fixtures/steins_gate.xml
88
120
  homepage: http://documentup.com/Getkura/ann_wrapper
89
121
  licenses:
90
122
  - MIT
@@ -110,6 +142,9 @@ signing_key:
110
142
  specification_version: 4
111
143
  summary: Anime News Network API wrapper
112
144
  test_files:
145
+ - spec/ann_anime_spec.rb
113
146
  - spec/ann_wrapper_spec.rb
114
147
  - spec/spec_helper.rb
115
- has_rdoc:
148
+ - spec/support/fake_ann.rb
149
+ - spec/support/fixtures/no_result.xml
150
+ - spec/support/fixtures/steins_gate.xml