douban-rails2.3 0.6.5 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/douban-rails2.3-0.6.5.gem +0 -0
- data/douban-rails2.3.gemspec +3 -2
- data/generators/douban/templates/douban.yml +1 -1
- data/lib/models/book.rb +12 -2
- data/lib/parser.rb +3 -2
- metadata +6 -5
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.7.0
|
Binary file
|
data/douban-rails2.3.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{douban-rails2.3}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.7.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Yuanyi Zhang chengdh"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-09-11}
|
13
13
|
s.description = %q{A Ruby wrapper of Douban(豆瓣) API}
|
14
14
|
s.email = %q{cheng.donghui@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -26,6 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
"douban-rails2.3-0.6.2.gem",
|
27
27
|
"douban-rails2.3-0.6.3.gem",
|
28
28
|
"douban-rails2.3-0.6.4.gem",
|
29
|
+
"douban-rails2.3-0.6.5.gem",
|
29
30
|
"douban-rails2.3.gemspec",
|
30
31
|
"generators/douban/douban_generator.rb",
|
31
32
|
"generators/douban/templates/douban.yml",
|
data/lib/models/book.rb
CHANGED
@@ -2,12 +2,22 @@ module Douban
|
|
2
2
|
class Book
|
3
3
|
def self.attr_names
|
4
4
|
[
|
5
|
-
:title,:image,:author,:isbn10,:isbn13,:pubdate,
|
6
|
-
:pages,:translator,:price,:publisher,:binding,:author_intro,:
|
5
|
+
:title,:subtitle,:aka,:image,:author,:isbn10,:isbn13,:pubdate,
|
6
|
+
:pages,:translator,:price,:publisher,:binding,:author_intro,:summary
|
7
7
|
]
|
8
8
|
end
|
9
9
|
for a in attr_names
|
10
10
|
attr_accessor a
|
11
11
|
end
|
12
|
+
#描述信息
|
13
|
+
def to_s
|
14
|
+
ret = ""
|
15
|
+
(Book.attr_names - [:title,:subtitle,:image,:author_intro,:summary]).each do |attr|
|
16
|
+
v = self.send("#{attr}")
|
17
|
+
ret += v + "/" unless v.blank?
|
18
|
+
|
19
|
+
end
|
20
|
+
ret
|
21
|
+
end
|
12
22
|
end
|
13
23
|
end
|
data/lib/parser.rb
CHANGED
@@ -5,6 +5,7 @@ module Douban
|
|
5
5
|
def self.parse_book(book_xml)
|
6
6
|
xml_doc = Nokogiri::XML(book_xml)
|
7
7
|
book_node = xml_doc.css('entry').first
|
8
|
+
return nil if book_node.blank?
|
8
9
|
parse_single_book(book_node)
|
9
10
|
end
|
10
11
|
#解析多本书籍信息
|
@@ -31,12 +32,12 @@ module Douban
|
|
31
32
|
end
|
32
33
|
end
|
33
34
|
title = book_node.css('title').first.content
|
34
|
-
content_nodes = book_node.css('
|
35
|
+
content_nodes = book_node.css('summary')
|
35
36
|
content = content_nodes.first.content if !content_nodes.blank?
|
36
37
|
imgs = book_node.css('link[rel=image]')
|
37
38
|
img = imgs.first['href'] if !imgs.blank?
|
38
39
|
book.title = title
|
39
|
-
book.
|
40
|
+
book.summary = content
|
40
41
|
book.image = img
|
41
42
|
book
|
42
43
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: douban-rails2.3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 7
|
9
|
+
- 0
|
10
|
+
version: 0.7.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Yuanyi Zhang chengdh
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-09-11 00:00:00 +08:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -51,6 +51,7 @@ files:
|
|
51
51
|
- douban-rails2.3-0.6.2.gem
|
52
52
|
- douban-rails2.3-0.6.3.gem
|
53
53
|
- douban-rails2.3-0.6.4.gem
|
54
|
+
- douban-rails2.3-0.6.5.gem
|
54
55
|
- douban-rails2.3.gemspec
|
55
56
|
- generators/douban/douban_generator.rb
|
56
57
|
- generators/douban/templates/douban.yml
|