bartzon-zelda 0.0.1 → 0.0.2
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/VERSION +1 -1
- data/lib/zelda.rb +10 -5
- data/lib/zelda/aflevering.rb +15 -0
- data/lib/zelda/request.rb +1 -0
- data/lib/zelda/serie.rb +46 -19
- data/lib/zelda/zender.rb +23 -11
- data/spec/spec_helper.rb +4 -1
- data/spec/zelda/aflevering_spec.rb +17 -0
- data/spec/zelda/request_spec.rb +6 -0
- data/spec/zelda/serie_spec.rb +12 -4
- data/spec/zelda/zender_spec.rb +0 -4
- data/spec/zelda_spec.rb +4 -0
- data/zelda.gemspec +9 -8
- metadata +8 -8
- data/lib/zelda/base.rb +0 -4
- data/lib/zelda/object.rb +0 -17
- data/spec/zelda/base_spec.rb +0 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/lib/zelda.rb
CHANGED
@@ -1,17 +1,22 @@
|
|
1
1
|
$:.unshift(File.dirname(__FILE__)) unless
|
2
2
|
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
3
3
|
|
4
|
-
|
4
|
+
begin
|
5
|
+
require 'httparty'
|
6
|
+
rescue LoadError
|
7
|
+
require 'rubygems' unless ENV['NO_RUBYGEMS']
|
8
|
+
gem 'httparty', '>= 0.4.4'
|
9
|
+
require 'httparty'
|
10
|
+
end
|
5
11
|
|
6
|
-
require 'zelda/base'
|
7
|
-
require 'zelda/object'
|
8
12
|
require 'zelda/request'
|
9
13
|
require 'zelda/zender'
|
10
14
|
require 'zelda/serie'
|
15
|
+
require 'zelda/aflevering'
|
11
16
|
|
12
17
|
module Zelda
|
13
|
-
VERSION = "0.0.
|
14
|
-
|
18
|
+
VERSION = "0.0.2"
|
19
|
+
|
15
20
|
class ZeldaError < StandardError; end
|
16
21
|
class ZeldaCollectionError < ZeldaError; end
|
17
22
|
end
|
data/lib/zelda/request.rb
CHANGED
data/lib/zelda/serie.rb
CHANGED
@@ -1,25 +1,52 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
module Zelda
|
2
|
+
class Serie
|
3
|
+
class << self
|
4
|
+
def search(query)
|
5
|
+
Request.get("series/search/#{query}")['series']
|
6
|
+
end
|
7
|
+
|
8
|
+
def find(id)
|
9
|
+
new Request.get("series/#{id}")
|
10
|
+
end
|
11
|
+
|
12
|
+
def all
|
13
|
+
Request.get("series")
|
14
|
+
end
|
15
|
+
end
|
5
16
|
|
6
|
-
|
7
|
-
|
8
|
-
|
17
|
+
def initialize(attrs={})
|
18
|
+
@attrs = attrs
|
19
|
+
end
|
20
|
+
|
21
|
+
def name
|
22
|
+
@attrs["serie"]["name"]
|
23
|
+
end
|
9
24
|
|
10
|
-
|
11
|
-
|
12
|
-
|
25
|
+
def serieid
|
26
|
+
@attrs["serie"]["serieid"]
|
27
|
+
end
|
13
28
|
|
14
|
-
|
15
|
-
|
16
|
-
|
29
|
+
def afleveringen
|
30
|
+
@afleveringen ||= get_afleveringen()
|
31
|
+
end
|
17
32
|
|
18
|
-
|
19
|
-
|
20
|
-
|
33
|
+
def upcoming_afleveringen
|
34
|
+
@upcoming_afleveringen ||= get_afleveringen("upcoming")
|
35
|
+
end
|
36
|
+
|
37
|
+
def past_afleveringen
|
38
|
+
@past_afleveringen ||= get_afleveringen("past")
|
39
|
+
end
|
21
40
|
|
22
|
-
|
23
|
-
|
41
|
+
private
|
42
|
+
def get_afleveringen(timestamp=nil)
|
43
|
+
url = [ "series", serieid, "afleveringen", timestamp ].join("/")
|
44
|
+
|
45
|
+
objects = []
|
46
|
+
Request.get(url)["afleveringen"].each do |vars|
|
47
|
+
objects << Zelda::Aflevering.new(vars)
|
48
|
+
end
|
49
|
+
objects
|
50
|
+
end
|
24
51
|
end
|
25
|
-
end
|
52
|
+
end
|
data/lib/zelda/zender.rb
CHANGED
@@ -1,13 +1,25 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
1
|
+
module Zelda
|
2
|
+
class Zender
|
3
|
+
class << self
|
4
|
+
def find(id)
|
5
|
+
new Request.get("zenders/#{id}")
|
6
|
+
end
|
7
|
+
|
8
|
+
def all
|
9
|
+
Request.get("zenders")
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def initialize(attrs={})
|
14
|
+
@attrs = attrs
|
15
|
+
end
|
16
|
+
|
17
|
+
def name
|
18
|
+
@attrs["zender"]["name"]
|
19
|
+
end
|
9
20
|
|
10
|
-
|
11
|
-
|
21
|
+
def code
|
22
|
+
@attrs["zender"]["code"]
|
23
|
+
end
|
12
24
|
end
|
13
|
-
end
|
25
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -0,0 +1,17 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
|
3
|
+
describe Zelda::Aflevering do
|
4
|
+
it "should accept attributes when being initialized" do
|
5
|
+
Zelda::Aflevering.new(:foo => "bar").should be_a(Zelda::Aflevering)
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should respond to the attributes set in the constructor" do
|
9
|
+
afl = Zelda::Aflevering.new(:foo => "bar")
|
10
|
+
afl.foo.should == 'bar'
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should not respond to attributes not set in the constructor" do
|
14
|
+
afl = Zelda::Aflevering.new(:foo => "bar")
|
15
|
+
lambda { afl.bar }.should raise_error(NoMethodError)
|
16
|
+
end
|
17
|
+
end
|
data/spec/zelda/request_spec.rb
CHANGED
@@ -5,6 +5,12 @@ describe Zelda::Request do
|
|
5
5
|
HTTParty.should_receive(:get).with("http://zelda.omroep.nl/12345/foo")
|
6
6
|
Zelda::Request.get('foo')
|
7
7
|
end
|
8
|
+
|
9
|
+
it "should raise an error without an API key" do
|
10
|
+
api_key = Zelda.send(:remove_const, :API_KEY)
|
11
|
+
lambda { Zelda::Request.get('foo') }.should raise_error("No Zelda::API_KEY specified")
|
12
|
+
Zelda::API_KEY = api_key
|
13
|
+
end
|
8
14
|
|
9
15
|
describe "when returning an url" do
|
10
16
|
it "should be correct with 1 args" do
|
data/spec/zelda/serie_spec.rb
CHANGED
@@ -12,6 +12,9 @@ describe Zelda::Serie do
|
|
12
12
|
before(:each) do
|
13
13
|
serie_attrs = { "serie" => {"serieid" => "POW_00243538", "name" => "3 op reis"} }
|
14
14
|
Zelda::Request.stub!(:get).with("series/1").and_return serie_attrs
|
15
|
+
|
16
|
+
@aflevering = mock("Aflevering")
|
17
|
+
Zelda::Aflevering.stub!(:new).and_return @aflevering
|
15
18
|
end
|
16
19
|
|
17
20
|
def find_serie
|
@@ -29,20 +32,25 @@ describe Zelda::Serie do
|
|
29
32
|
|
30
33
|
it "should send the correct request when asked for afleveringen" do
|
31
34
|
serie = find_serie
|
32
|
-
Zelda::Request.should_receive(:get).with("series/POW_00243538/afleveringen").and_return("afleveringen" => ["foo"])
|
33
|
-
serie.afleveringen.should == [
|
35
|
+
Zelda::Request.should_receive(:get).with("series/POW_00243538/afleveringen/").and_return("afleveringen" => ["foo"])
|
36
|
+
serie.afleveringen.should == [@aflevering]
|
34
37
|
end
|
35
38
|
|
36
39
|
it "should send the correct request when asked for upcoming afleveringen" do
|
37
40
|
serie = find_serie
|
38
41
|
Zelda::Request.should_receive(:get).with("series/POW_00243538/afleveringen/upcoming").and_return("afleveringen" => ["foo"])
|
39
|
-
serie.upcoming_afleveringen.should == [
|
42
|
+
serie.upcoming_afleveringen.should == [@aflevering]
|
40
43
|
end
|
41
44
|
|
42
45
|
it "should send the correct request when asked for past afleveringen" do
|
43
46
|
serie = find_serie
|
44
47
|
Zelda::Request.should_receive(:get).with("series/POW_00243538/afleveringen/past").and_return("afleveringen" => ["foo"])
|
45
|
-
serie.past_afleveringen.should == [
|
48
|
+
serie.past_afleveringen.should == [@aflevering]
|
46
49
|
end
|
47
50
|
end
|
51
|
+
|
52
|
+
it "should send the correct request when searching for series" do
|
53
|
+
Zelda::Request.should_receive(:get).with("series/search/foo").and_return("series" => ["foo"])
|
54
|
+
Zelda::Serie.search("foo").should == ["foo"]
|
55
|
+
end
|
48
56
|
end
|
data/spec/zelda/zender_spec.rb
CHANGED
@@ -30,9 +30,5 @@ describe Zelda::Zender do
|
|
30
30
|
it "should return the correct name" do
|
31
31
|
find_zender.name.should == "Nederland 1"
|
32
32
|
end
|
33
|
-
|
34
|
-
it "should raise the correct error for an undefined attribute" do
|
35
|
-
lambda { find_zender.foo }.should raise_error(NoMethodError)
|
36
|
-
end
|
37
33
|
end
|
38
34
|
end
|
data/spec/zelda_spec.rb
ADDED
data/zelda.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{zelda}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Bart Zonneveld"]
|
12
|
-
s.date = %q{2009-08-
|
12
|
+
s.date = %q{2009-08-26}
|
13
13
|
s.description = %q{ }
|
14
14
|
s.email = %q{loop@superinfinite.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -25,8 +25,7 @@ Gem::Specification.new do |s|
|
|
25
25
|
"Rakefile",
|
26
26
|
"VERSION",
|
27
27
|
"lib/zelda.rb",
|
28
|
-
"lib/zelda/
|
29
|
-
"lib/zelda/object.rb",
|
28
|
+
"lib/zelda/aflevering.rb",
|
30
29
|
"lib/zelda/request.rb",
|
31
30
|
"lib/zelda/serie.rb",
|
32
31
|
"lib/zelda/zender.rb",
|
@@ -35,10 +34,11 @@ Gem::Specification.new do |s|
|
|
35
34
|
"script/generate",
|
36
35
|
"spec/spec.opts",
|
37
36
|
"spec/spec_helper.rb",
|
38
|
-
"spec/zelda/
|
37
|
+
"spec/zelda/aflevering_spec.rb",
|
39
38
|
"spec/zelda/request_spec.rb",
|
40
39
|
"spec/zelda/serie_spec.rb",
|
41
40
|
"spec/zelda/zender_spec.rb",
|
41
|
+
"spec/zelda_spec.rb",
|
42
42
|
"tasks/rspec.rake",
|
43
43
|
"zelda.gemspec"
|
44
44
|
]
|
@@ -47,13 +47,14 @@ Gem::Specification.new do |s|
|
|
47
47
|
s.require_paths = ["lib"]
|
48
48
|
s.rubyforge_project = %q{zelda}
|
49
49
|
s.rubygems_version = %q{1.3.5}
|
50
|
-
s.summary = %q{
|
50
|
+
s.summary = %q{}
|
51
51
|
s.test_files = [
|
52
52
|
"spec/spec_helper.rb",
|
53
|
-
"spec/zelda/
|
53
|
+
"spec/zelda/aflevering_spec.rb",
|
54
54
|
"spec/zelda/request_spec.rb",
|
55
55
|
"spec/zelda/serie_spec.rb",
|
56
|
-
"spec/zelda/zender_spec.rb"
|
56
|
+
"spec/zelda/zender_spec.rb",
|
57
|
+
"spec/zelda_spec.rb"
|
57
58
|
]
|
58
59
|
|
59
60
|
if s.respond_to? :specification_version then
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bartzon-zelda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bart Zonneveld
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-08-
|
12
|
+
date: 2009-08-26 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -40,8 +40,7 @@ files:
|
|
40
40
|
- Rakefile
|
41
41
|
- VERSION
|
42
42
|
- lib/zelda.rb
|
43
|
-
- lib/zelda/
|
44
|
-
- lib/zelda/object.rb
|
43
|
+
- lib/zelda/aflevering.rb
|
45
44
|
- lib/zelda/request.rb
|
46
45
|
- lib/zelda/serie.rb
|
47
46
|
- lib/zelda/zender.rb
|
@@ -50,15 +49,15 @@ files:
|
|
50
49
|
- script/generate
|
51
50
|
- spec/spec.opts
|
52
51
|
- spec/spec_helper.rb
|
53
|
-
- spec/zelda/
|
52
|
+
- spec/zelda/aflevering_spec.rb
|
54
53
|
- spec/zelda/request_spec.rb
|
55
54
|
- spec/zelda/serie_spec.rb
|
56
55
|
- spec/zelda/zender_spec.rb
|
56
|
+
- spec/zelda_spec.rb
|
57
57
|
- tasks/rspec.rake
|
58
58
|
- zelda.gemspec
|
59
59
|
has_rdoc: false
|
60
60
|
homepage: http://github.com/bartzon/zelda
|
61
|
-
licenses:
|
62
61
|
post_install_message:
|
63
62
|
rdoc_options:
|
64
63
|
- --charset=UTF-8
|
@@ -79,13 +78,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
78
|
requirements: []
|
80
79
|
|
81
80
|
rubyforge_project: zelda
|
82
|
-
rubygems_version: 1.
|
81
|
+
rubygems_version: 1.2.0
|
83
82
|
signing_key:
|
84
83
|
specification_version: 3
|
85
84
|
summary: ""
|
86
85
|
test_files:
|
87
86
|
- spec/spec_helper.rb
|
88
|
-
- spec/zelda/
|
87
|
+
- spec/zelda/aflevering_spec.rb
|
89
88
|
- spec/zelda/request_spec.rb
|
90
89
|
- spec/zelda/serie_spec.rb
|
91
90
|
- spec/zelda/zender_spec.rb
|
91
|
+
- spec/zelda_spec.rb
|
data/lib/zelda/base.rb
DELETED
data/lib/zelda/object.rb
DELETED
data/spec/zelda/base_spec.rb
DELETED