howcast 0.7.1 → 0.7.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/CHANGELOG +5 -1
- data/VERSION +1 -1
- data/howcast-0.7.1.gem +0 -0
- data/howcast.gemspec +2 -1
- data/lib/howcast/client/homepage.rb +9 -4
- data/lib/howcast/client/playlist.rb +5 -1
- data/spec/howcast/client/homepage_spec.rb +10 -0
- data/spec/howcast/client/playlist_spec.rb +1 -1
- metadata +3 -2
data/CHANGELOG
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.7.
|
1
|
+
0.7.2
|
data/howcast-0.7.1.gem
ADDED
Binary file
|
data/howcast.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{howcast}
|
8
|
-
s.version = "0.7.
|
8
|
+
s.version = "0.7.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jingshen Jimmy Zhang", "Ian Smith-Heisters"]
|
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
|
|
31
31
|
"README.markdown",
|
32
32
|
"Rakefile",
|
33
33
|
"VERSION",
|
34
|
+
"howcast-0.7.1.gem",
|
34
35
|
"howcast.gemspec",
|
35
36
|
"lib/howcast.rb",
|
36
37
|
"lib/howcast/client.rb",
|
@@ -59,13 +59,18 @@ class Howcast::Client
|
|
59
59
|
# Create the Howcast homepage object
|
60
60
|
# Howcast::Client.new.homepage
|
61
61
|
def homepage
|
62
|
-
|
63
|
-
homepage =
|
64
|
-
|
65
|
-
homepage.playlists = parse_playlists(response)
|
62
|
+
homepage = parse_single_xml(establish_connection("homepage/staff_videos.xml"), Homepage)
|
63
|
+
homepage.playlists = parse_playlists(establish_connection("homepage/staff_playlists.xml"))
|
64
|
+
homepage
|
66
65
|
end
|
67
66
|
|
68
67
|
private
|
69
68
|
def parse_playlists(xml)
|
69
|
+
playlists = []
|
70
|
+
node = xml.at('playlists')
|
71
|
+
node.children_of_type('playlist').each do |child|
|
72
|
+
playlists << parse_single_xml(child, Playlist)
|
73
|
+
end unless node.nil?
|
74
|
+
playlists
|
70
75
|
end
|
71
76
|
end
|
@@ -39,7 +39,11 @@ class Howcast::Client
|
|
39
39
|
# Playlist.new :title => "My Playlist"
|
40
40
|
def initialize(attributes={})
|
41
41
|
attributes.each do |k, v|
|
42
|
-
|
42
|
+
if k == :title
|
43
|
+
self.send("#{k}=", v.gsub(/^Howcast - /, '')) if self.respond_to?(k)
|
44
|
+
else
|
45
|
+
self.send("#{k}=", v) if self.respond_to?(k)
|
46
|
+
end
|
43
47
|
end
|
44
48
|
end
|
45
49
|
end
|
@@ -36,8 +36,18 @@ describe Howcast::Client, "homepage" do
|
|
36
36
|
end
|
37
37
|
|
38
38
|
it "should set the videos attribute in the homepage model response" do
|
39
|
+
@hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/homepage/staff_videos.xml?api_key=myapikey")).and_return(homepage_videos_xml)
|
40
|
+
@hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/homepage/staff_playlists.xml?api_key=myapikey")).and_return(homepage_playlists_xml)
|
39
41
|
videos = @hc.homepage.videos
|
40
42
|
videos.size.should == 8
|
41
43
|
videos[0].title.should == "How To Display Impeccable Manners"
|
42
44
|
end
|
45
|
+
|
46
|
+
it "should set the playlists attribute in the homepage model response" do
|
47
|
+
@hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/homepage/staff_videos.xml?api_key=myapikey")).and_return(homepage_videos_xml)
|
48
|
+
@hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/homepage/staff_playlists.xml?api_key=myapikey")).and_return(homepage_playlists_xml)
|
49
|
+
playlists = @hc.homepage.playlists
|
50
|
+
playlists.size.should == 2
|
51
|
+
playlists[0].title.should == "Pranks For the Memories"
|
52
|
+
end
|
43
53
|
end
|
@@ -32,7 +32,7 @@ describe Howcast::Client, "playlist" do
|
|
32
32
|
end
|
33
33
|
|
34
34
|
it "should set the title attribute in the playlist model response" do
|
35
|
-
@hc.playlist(12345).title.should == "
|
35
|
+
@hc.playlist(12345).title.should == "Eggs-Travaganza!"
|
36
36
|
end
|
37
37
|
|
38
38
|
it "should set the description attribute in the playlist model response" do
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 7
|
8
|
-
-
|
9
|
-
version: 0.7.
|
8
|
+
- 2
|
9
|
+
version: 0.7.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Jingshen Jimmy Zhang
|
@@ -57,6 +57,7 @@ files:
|
|
57
57
|
- README.markdown
|
58
58
|
- Rakefile
|
59
59
|
- VERSION
|
60
|
+
- howcast-0.7.1.gem
|
60
61
|
- howcast.gemspec
|
61
62
|
- lib/howcast.rb
|
62
63
|
- lib/howcast/client.rb
|