the_tv_db 0.0.4 → 0.0.5
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.
- data/lib/the_tv_db/response/unzip.rb +21 -26
- data/lib/the_tv_db/response.rb +3 -1
- data/lib/the_tv_db/version.rb +1 -1
- data/spec/the_tv_db/series_spec.rb +2 -1
- metadata +13 -13
@@ -1,33 +1,28 @@
|
|
1
|
+
require 'zip/zip'
|
2
|
+
|
1
3
|
module TheTvDB
|
2
|
-
class Response::Unzip < Response
|
3
|
-
dependency 'zip/zip'
|
4
|
-
|
5
|
-
define_parser do |body|
|
6
|
-
::Zip::ZipFile.new body
|
7
|
-
end
|
4
|
+
class Response::Unzip < Faraday::Response::Middleware
|
8
5
|
|
9
|
-
def
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
zip.unlink
|
6
|
+
def on_complete(env)
|
7
|
+
env[:body] = unzip(env[:body]) if env[:response_headers]["content-type"] == "application/zip"
|
8
|
+
super
|
9
|
+
end
|
10
|
+
|
11
|
+
def unzip(body)
|
12
|
+
zipped = Tempfile.new('thetvdb.com')
|
13
|
+
begin
|
14
|
+
zipped.write(body.force_encoding("utf-8"))
|
15
|
+
unzipped = ::Zip::ZipFile.new(zipped)
|
16
|
+
files = {}
|
17
|
+
unzipped.each do |file|
|
18
|
+
files[file.name] = file.get_input_stream.read
|
23
19
|
end
|
24
20
|
files
|
25
|
-
|
26
|
-
|
21
|
+
ensure
|
22
|
+
zipped.close
|
23
|
+
zipped.unlink
|
27
24
|
end
|
28
|
-
rescue
|
29
|
-
body
|
30
25
|
end
|
31
|
-
|
26
|
+
|
32
27
|
end # Response::Unzip
|
33
|
-
end # TheTvDB
|
28
|
+
end # TheTvDB
|
data/lib/the_tv_db/response.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
1
3
|
module TheTvDB
|
2
4
|
# Contains methods and attributes that act on the response returned from the
|
3
5
|
# request
|
@@ -18,7 +20,7 @@ module TheTvDB
|
|
18
20
|
|
19
21
|
def parse_response?(env)
|
20
22
|
env[:body].respond_to? :to_str
|
21
|
-
end
|
23
|
+
end
|
22
24
|
|
23
25
|
end # Response
|
24
26
|
end # TheTvDB
|
data/lib/the_tv_db/version.rb
CHANGED
@@ -44,8 +44,9 @@ describe TheTvDB::Series do
|
|
44
44
|
|
45
45
|
context "when api key is provided" do
|
46
46
|
before(:all) do
|
47
|
+
body = TheTvDB::Response::Unzip.new.unzip(fixture("series/en.zip"))
|
47
48
|
stub_get("ASDF01234F0AF1368/series/82066/all/en.zip").
|
48
|
-
to_return(:status => 200, :body =>
|
49
|
+
to_return(:status => 200, :body => body)
|
49
50
|
api = TheTvDB.new(:api_key => "ASDF01234F0AF1368")
|
50
51
|
@series = api.series.find("82066")
|
51
52
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: the_tv_db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-11-06 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
16
|
-
requirement: &
|
16
|
+
requirement: &70129673485720 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.8.4
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70129673485720
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: ox
|
27
|
-
requirement: &
|
27
|
+
requirement: &70129673485220 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.6.6
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70129673485220
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: multi_xml
|
38
|
-
requirement: &
|
38
|
+
requirement: &70129673484760 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 0.5.1
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70129673484760
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rubyzip
|
49
|
-
requirement: &
|
49
|
+
requirement: &70129673484300 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.9.9
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70129673484300
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rspec
|
60
|
-
requirement: &
|
60
|
+
requirement: &70129673483840 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 2.11.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70129673483840
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: webmock
|
71
|
-
requirement: &
|
71
|
+
requirement: &70129673483380 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: 1.8.11
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70129673483380
|
80
80
|
description: Ruby API Client for TheTvDB.com
|
81
81
|
email:
|
82
82
|
- javier@tractical.com
|