zelda 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +6 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +7 -1
- data/Guardfile +9 -0
- data/lib/zelda/aflevering.rb +2 -2
- data/lib/zelda/base.rb +5 -1
- data/lib/zelda/omroep.rb +2 -2
- data/lib/zelda/serie.rb +2 -2
- data/lib/zelda/version.rb +1 -1
- data/lib/zelda/zender.rb +2 -2
- data/spec/responses/aflevering.xml +20 -0
- data/spec/responses/omroep.xml +5 -0
- data/spec/responses/serie.xml +38 -0
- data/spec/responses/zender.xml +5 -0
- data/spec/support/fakeweb.rb +2 -0
- data/spec/zelda/aflevering_spec.rb +18 -1
- data/spec/zelda/omroep_spec.rb +10 -0
- data/spec/zelda/serie_spec.rb +10 -0
- data/spec/zelda/zender_spec.rb +10 -0
- data/zelda.gemspec +0 -2
- metadata +19 -6
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
zelda (1.2.
|
4
|
+
zelda (1.2.1)
|
5
5
|
httparty
|
6
6
|
|
7
7
|
GEM
|
@@ -9,6 +9,9 @@ GEM
|
|
9
9
|
specs:
|
10
10
|
crack (0.1.8)
|
11
11
|
diff-lcs (1.1.2)
|
12
|
+
fakeweb (1.3.0)
|
13
|
+
guard (0.7.0)
|
14
|
+
thor (~> 0.14.6)
|
12
15
|
httparty (0.7.8)
|
13
16
|
crack (= 0.1.8)
|
14
17
|
rake (0.9.2)
|
@@ -20,11 +23,14 @@ GEM
|
|
20
23
|
rspec-expectations (2.6.0)
|
21
24
|
diff-lcs (~> 1.1.2)
|
22
25
|
rspec-mocks (2.6.0)
|
26
|
+
thor (0.14.6)
|
23
27
|
|
24
28
|
PLATFORMS
|
25
29
|
ruby
|
26
30
|
|
27
31
|
DEPENDENCIES
|
32
|
+
fakeweb
|
33
|
+
guard
|
28
34
|
httparty
|
29
35
|
rake
|
30
36
|
rspec
|
data/Guardfile
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
guard 'rspec', :version => 2 do
|
5
|
+
watch(%r{^spec/.+_spec\.rb$})
|
6
|
+
watch(%r{^lib/zelda/(.+)\.rb$}) { |m| "spec/zelda/#{m[1]}_spec.rb" }
|
7
|
+
watch('spec/spec_helper.rb') { "spec" }
|
8
|
+
end
|
9
|
+
|
data/lib/zelda/aflevering.rb
CHANGED
@@ -2,8 +2,8 @@ module Zelda
|
|
2
2
|
class Aflevering < Zelda::Base
|
3
3
|
class << self
|
4
4
|
def find(id)
|
5
|
-
|
6
|
-
|
5
|
+
response = Request.get("afleveringen/#{id}")
|
6
|
+
response ? new(response['aflevering']) : nil
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
data/lib/zelda/base.rb
CHANGED
data/lib/zelda/omroep.rb
CHANGED
@@ -3,8 +3,8 @@ module Zelda
|
|
3
3
|
class << self
|
4
4
|
# Find an omroep by slug, such as +kro+.
|
5
5
|
def find(slug)
|
6
|
-
|
7
|
-
|
6
|
+
response = Request.get("omroepen/#{slug}")
|
7
|
+
response ? new(response['omroep']) : nil
|
8
8
|
end
|
9
9
|
|
10
10
|
# Find all omroepen.
|
data/lib/zelda/serie.rb
CHANGED
data/lib/zelda/version.rb
CHANGED
data/lib/zelda/zender.rb
CHANGED
@@ -3,8 +3,8 @@ module Zelda
|
|
3
3
|
class << self
|
4
4
|
# Find a Zender by code, such as +NL1+ or +101+.
|
5
5
|
def find(code)
|
6
|
-
|
7
|
-
|
6
|
+
response = Request.get("zenders/#{code}")
|
7
|
+
response ? new(response['zender']) : nil
|
8
8
|
end
|
9
9
|
|
10
10
|
# Find all Zenders.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<aflevering>
|
3
|
+
<afbeelding></afbeelding>
|
4
|
+
<afleveringid>13212470</afleveringid>
|
5
|
+
<breedbeeld>true</breedbeeld>
|
6
|
+
<eind-tijd>2011-10-11 09:00:00</eind-tijd>
|
7
|
+
<email>jeugdjournaal@nos.nl</email>
|
8
|
+
<medium>tv</medium>
|
9
|
+
<omschrijving>Mix van het belangrijkste nieuws uit binnen- en buitenland, het weer en een nieuwsgerelateerde stelling.</omschrijving>
|
10
|
+
<pepeid>229626061</pepeid>
|
11
|
+
<start-tijd>2011-10-11 08:45:00</start-tijd>
|
12
|
+
<streams-offline-op nil="true"></streams-offline-op>
|
13
|
+
<streams-online-op nil="true"></streams-online-op>
|
14
|
+
<teletekst></teletekst>
|
15
|
+
<titel>NOS Jeugdjournaal met gebarentolk</titel>
|
16
|
+
<webcast-toegestaan nil="true"></webcast-toegestaan>
|
17
|
+
<website>http://www.jeugdjournaal.nl</website>
|
18
|
+
<zender-code>NL2</zender-code>
|
19
|
+
<serie-id-nebo>5909</serie-id-nebo>
|
20
|
+
</aflevering>
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<serie>
|
3
|
+
<email>publieksservice@tros.nl</email>
|
4
|
+
<image>http://u.omroep.nl/n/a/2005-00/1000_seconden_still.jpg</image>
|
5
|
+
<omschrijving><span class="CMSTekst">In 1000 seconden daagt presentator Ron Boszhard meesterkok Ad Janssen uit. Ad moet in 1000
|
6
|
+
seconden een maaltijd bereiden bestaande uit een voor-, hoofd- en nagerecht.<br />
|
7
|
+
<br />
|
8
|
+
Als Ad Janssen hier niet in slaagt, wacht hem een speciale opdracht die de kijker voor hem heeft bedacht.</span></omschrijving>
|
9
|
+
<serie-id-nebo>726</serie-id-nebo>
|
10
|
+
<teletekst-pagina></teletekst-pagina>
|
11
|
+
<titel>1000 Seconden</titel>
|
12
|
+
<website>http://www.eetsmakelijk.nl/SiteNL/servlet/ctl/1000seconden/home.jsp</website>
|
13
|
+
<omroepen>
|
14
|
+
<omroep>
|
15
|
+
<name>TROS</name>
|
16
|
+
<slug>tros</slug>
|
17
|
+
</omroep>
|
18
|
+
</omroepen>
|
19
|
+
<past-aflevering>
|
20
|
+
<afbeelding>http://u.omroep.nl/n/a/2005-00/1000_seconden_still.jpg</afbeelding>
|
21
|
+
<afleveringid>12268818</afleveringid>
|
22
|
+
<breedbeeld>true</breedbeeld>
|
23
|
+
<eind-tijd>2011-03-08 11:30:00</eind-tijd>
|
24
|
+
<email>publieksservice@tros.nl</email>
|
25
|
+
<medium>tv</medium>
|
26
|
+
<omschrijving>Wat gebeurt er als je ineens alles kwijt bent, je kleren, speelgoed, foto's, huis? Andrea woonde in het Italiaanse L'Aguila waar in 2009 een aardbeving zijn huis totaal verwoestte. Kan hij een jaar later zijn normale leven weer oppakken?</omschrijving>
|
27
|
+
<pepeid>197019126</pepeid>
|
28
|
+
<start-tijd>2011-03-08 11:15:00</start-tijd>
|
29
|
+
<streams-offline-op nil="true"></streams-offline-op>
|
30
|
+
<streams-online-op nil="true"></streams-online-op>
|
31
|
+
<teletekst></teletekst>
|
32
|
+
<titel>27 seconden...</titel>
|
33
|
+
<webcast-toegestaan nil="true"></webcast-toegestaan>
|
34
|
+
<website>http://www.eetsmakelijk.nl/SiteNL/servlet/ctl/1000seconden/home.jsp</website>
|
35
|
+
<zender-code>NL3</zender-code>
|
36
|
+
<serie-id-nebo>726</serie-id-nebo>
|
37
|
+
</past-aflevering>
|
38
|
+
</serie>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Zelda::Aflevering do
|
4
|
-
|
4
|
+
|
5
5
|
it_should_behave_like 'a zelda base model'
|
6
6
|
|
7
7
|
it "should accept attributes when being initialized" do
|
@@ -20,4 +20,21 @@ describe Zelda::Aflevering do
|
|
20
20
|
afl.should be_a(Zelda::Aflevering)
|
21
21
|
afl.afleveringid.should == 'POW_00243538'
|
22
22
|
end
|
23
|
+
|
24
|
+
def xml
|
25
|
+
File.read(File.dirname(__FILE__) + "/../responses/aflevering.xml")
|
26
|
+
end
|
27
|
+
|
28
|
+
it "parses API XML" do
|
29
|
+
FakeWeb.register_uri(:get, "http://zelda.omroep.nl/12345/afleveringen/1", :body => xml, :content_type => "text/xml")
|
30
|
+
aflevering = Zelda::Aflevering.find(1)
|
31
|
+
aflevering.email.should eq "jeugdjournaal@nos.nl"
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "encoding" do
|
35
|
+
it "transcodes titel from ASCII-8BIT to UTF-8" do
|
36
|
+
afl = Zelda::Aflevering.new(:titel => "\x5a\x40\x50\x70\x72\x65\x69\xc3\xa8\x72\x65")
|
37
|
+
afl.titel.encoding.name.should == "UTF-8"
|
38
|
+
end
|
39
|
+
end
|
23
40
|
end
|
data/spec/zelda/omroep_spec.rb
CHANGED
@@ -89,4 +89,14 @@ describe Zelda::Omroep do
|
|
89
89
|
find_series.first.should be_a(Zelda::Serie)
|
90
90
|
end
|
91
91
|
end
|
92
|
+
|
93
|
+
def xml
|
94
|
+
File.read(File.dirname(__FILE__) + "/../responses/omroep.xml")
|
95
|
+
end
|
96
|
+
|
97
|
+
it "parses API XML" do
|
98
|
+
FakeWeb.register_uri(:get, "http://zelda.omroep.nl/12345/omroepen/tros", :body => xml, :content_type => "text/xml")
|
99
|
+
omroep = Zelda::Omroep.find('tros')
|
100
|
+
omroep.name.should eq "TROS"
|
101
|
+
end
|
92
102
|
end
|
data/spec/zelda/serie_spec.rb
CHANGED
@@ -85,4 +85,14 @@ describe Zelda::Serie do
|
|
85
85
|
Zelda::Serie.should_receive(:new).with("foo").and_return "foo"
|
86
86
|
Zelda::Serie.search("foo").should == ["foo"]
|
87
87
|
end
|
88
|
+
|
89
|
+
def xml
|
90
|
+
File.read(File.dirname(__FILE__) + "/../responses/serie.xml")
|
91
|
+
end
|
92
|
+
|
93
|
+
it "parses API XML" do
|
94
|
+
FakeWeb.register_uri(:get, "http://zelda.omroep.nl/12345/series/726", :body => xml, :content_type => "text/xml")
|
95
|
+
serie = Zelda::Serie.find(726)
|
96
|
+
serie.titel.should eq "1000 Seconden"
|
97
|
+
end
|
88
98
|
end
|
data/spec/zelda/zender_spec.rb
CHANGED
@@ -85,4 +85,14 @@ describe Zelda::Zender do
|
|
85
85
|
find_series.first.should be_a(Zelda::Serie)
|
86
86
|
end
|
87
87
|
end
|
88
|
+
|
89
|
+
def xml
|
90
|
+
File.read(File.dirname(__FILE__) + "/../responses/zender.xml")
|
91
|
+
end
|
92
|
+
|
93
|
+
it "parses API XML" do
|
94
|
+
FakeWeb.register_uri(:get, "http://zelda.omroep.nl/12345/zenders/NL1", :body => xml, :content_type => "text/xml")
|
95
|
+
zender = Zelda::Zender.find('NL1')
|
96
|
+
zender.name.should eq "Nederland 1"
|
97
|
+
end
|
88
98
|
end
|
data/zelda.gemspec
CHANGED
@@ -11,8 +11,6 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.summary = %q{If you don't know what this is, you probably don't need it}
|
12
12
|
s.description = %q{If you don't know what this is, you probably don't need it}
|
13
13
|
|
14
|
-
s.rubyforge_project = "zelda"
|
15
|
-
|
16
14
|
s.files = `git ls-files`.split("\n")
|
17
15
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
16
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zelda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-10-12 00:00:00.000000000 +02:00
|
13
|
+
default_executable:
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: httparty
|
16
|
-
requirement: &
|
17
|
+
requirement: &2157947540 !ruby/object:Gem::Requirement
|
17
18
|
none: false
|
18
19
|
requirements:
|
19
20
|
- - ! '>='
|
@@ -21,7 +22,7 @@ dependencies:
|
|
21
22
|
version: '0'
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
version_requirements: *
|
25
|
+
version_requirements: *2157947540
|
25
26
|
description: If you don't know what this is, you probably don't need it
|
26
27
|
email:
|
27
28
|
- joost@spacebabies.nl
|
@@ -34,6 +35,7 @@ files:
|
|
34
35
|
- CHANGELOG.md
|
35
36
|
- Gemfile
|
36
37
|
- Gemfile.lock
|
38
|
+
- Guardfile
|
37
39
|
- README.rdoc
|
38
40
|
- Rakefile
|
39
41
|
- lib/zelda.rb
|
@@ -44,8 +46,13 @@ files:
|
|
44
46
|
- lib/zelda/serie.rb
|
45
47
|
- lib/zelda/version.rb
|
46
48
|
- lib/zelda/zender.rb
|
49
|
+
- spec/responses/aflevering.xml
|
50
|
+
- spec/responses/omroep.xml
|
51
|
+
- spec/responses/serie.xml
|
52
|
+
- spec/responses/zender.xml
|
47
53
|
- spec/spec.opts
|
48
54
|
- spec/spec_helper.rb
|
55
|
+
- spec/support/fakeweb.rb
|
49
56
|
- spec/support/shared_examples.rb
|
50
57
|
- spec/support/zelda.rb
|
51
58
|
- spec/zelda/aflevering_spec.rb
|
@@ -54,6 +61,7 @@ files:
|
|
54
61
|
- spec/zelda/serie_spec.rb
|
55
62
|
- spec/zelda/zender_spec.rb
|
56
63
|
- zelda.gemspec
|
64
|
+
has_rdoc: true
|
57
65
|
homepage: https://github.com/tilsammans/zelda
|
58
66
|
licenses: []
|
59
67
|
post_install_message:
|
@@ -73,14 +81,19 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
81
|
- !ruby/object:Gem::Version
|
74
82
|
version: '0'
|
75
83
|
requirements: []
|
76
|
-
rubyforge_project:
|
77
|
-
rubygems_version: 1.
|
84
|
+
rubyforge_project:
|
85
|
+
rubygems_version: 1.6.2
|
78
86
|
signing_key:
|
79
87
|
specification_version: 3
|
80
88
|
summary: If you don't know what this is, you probably don't need it
|
81
89
|
test_files:
|
90
|
+
- spec/responses/aflevering.xml
|
91
|
+
- spec/responses/omroep.xml
|
92
|
+
- spec/responses/serie.xml
|
93
|
+
- spec/responses/zender.xml
|
82
94
|
- spec/spec.opts
|
83
95
|
- spec/spec_helper.rb
|
96
|
+
- spec/support/fakeweb.rb
|
84
97
|
- spec/support/shared_examples.rb
|
85
98
|
- spec/support/zelda.rb
|
86
99
|
- spec/zelda/aflevering_spec.rb
|