douban-ruby 0.0.8 → 0.0.9

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.
@@ -1,48 +1,48 @@
1
- require 'rexml/document'
2
-
3
- require 'douban/equal'
4
-
5
- module Douban
6
- class People
7
- include Douban::Equal
8
- class << self
9
- def attr_names
10
- [
11
- :id,
12
- :location,
13
- :title,
14
- :link,
15
- :content,
16
- :uid
17
- ]
18
- end
19
- end
20
- attr_names.each do |attr|
21
- attr_accessor attr
22
- end
23
-
24
- def initialize(atom="")
25
- doc = case atom
26
- when REXML::Document then atom.root
27
- when REXML::Element then atom
28
- else REXML::Document.new(atom).root
29
- end
30
-
31
- id=REXML::XPath.first(doc,"./id")
32
- @id=id.text if id
33
- content=REXML::XPath.first(doc,"./content")
34
- @content=content.text if content
35
- title=REXML::XPath.first(doc,"./title")
36
- @title=title.text if title
37
- location=REXML::XPath.first(doc,"./db:location")
38
- @location=location.text if location
39
- uid=REXML::XPath.first(doc,"./db:uid")
40
- @uid=uid.text if uid
41
- REXML::XPath.each(doc,"./link") do|link|
42
- @link||={}
43
- @link[link.attributes['rel']]=link.attributes['href']
44
- end
45
- end
46
- end
47
- end
48
-
1
+ require 'rexml/document'
2
+
3
+ require 'douban/equal'
4
+
5
+ module Douban
6
+ class People
7
+ include Douban::Equal
8
+ class << self
9
+ def attr_names
10
+ [
11
+ :id,
12
+ :location,
13
+ :title,
14
+ :link,
15
+ :content,
16
+ :uid
17
+ ]
18
+ end
19
+ end
20
+ attr_names.each do |attr|
21
+ attr_accessor attr
22
+ end
23
+
24
+ def initialize(atom="")
25
+ doc = case atom
26
+ when REXML::Document then atom.root
27
+ when REXML::Element then atom
28
+ else REXML::Document.new(atom).root
29
+ end
30
+
31
+ id=REXML::XPath.first(doc,"./id")
32
+ @id=id.text if id
33
+ content=REXML::XPath.first(doc,"./content")
34
+ @content=content.text if content
35
+ title=REXML::XPath.first(doc,"./title")
36
+ @title=title.text if title
37
+ location=REXML::XPath.first(doc,"./db:location")
38
+ @location=location.text if location
39
+ uid=REXML::XPath.first(doc,"./db:uid")
40
+ @uid=uid.text if uid
41
+ REXML::XPath.each(doc,"./link") do|link|
42
+ @link||={}
43
+ @link[link.attributes['rel']]=link.attributes['href']
44
+ end
45
+ end
46
+ end
47
+ end
48
+
@@ -1,66 +1,66 @@
1
- require 'rexml/document'
2
- require 'douban/subject'
3
- require 'douban/author'
4
- require 'douban/equal'
5
-
6
- module Douban
7
- class Review
8
- include Douban::Equal
9
-
10
- class << self
11
- def attr_names
12
- [
13
- :updated,
14
- :subject,
15
- :author,
16
- :title,
17
- :summary,
18
- :link,
19
- :id,
20
- :rating,
21
- :published,
22
- :content
23
- ]
24
- end
25
- end
26
- attr_names.each do |attr|
27
- attr_accessor attr
28
- end
29
- def initialize(atom)
30
- doc = case atom
31
- when REXML::Document then atom.root
32
- when REXML::Element then atom
33
- else REXML::Document.new(atom).root
34
- end
35
- subject=REXML::XPath.first(doc,"./db:subject")
36
- @subject=Subject.new(subject) if subject
37
- author=REXML::XPath.first(doc,"./author")
38
- @author=Author.new(author.to_s) if author
39
- title=REXML::XPath.first(doc,"./title")
40
- @title=title.text if title
41
- updated=REXML::XPath.first(doc,"./updated")
42
- @updated=updated.text if updated
43
- @published=REXML::XPath.first(doc,"./published/text()").to_s
44
- summary=REXML::XPath.first(doc,"./summary")
45
- @summary=summary.text if summary
46
- @content = REXML::XPath.first(doc, "./content/text()").to_s
47
- REXML::XPath.each(doc,"./link") do |link|
48
- @link||={}
49
- @link[link.attributes['rel']]=link.attributes['href']
50
- end
51
- id=REXML::XPath.first(doc,"./id")
52
- @id=id.text if id
53
- rating=REXML::XPath.first(doc,"./gd:rating")
54
- if rating
55
- @rating={}
56
- @rating['min']=rating.attributes['min']
57
- @rating['value']=rating.attributes['value']
58
- @rating['max']=rating.attributes['max']
59
- end
60
- end
61
-
62
- def review_id
63
- /\/(\d+)$/.match(@id)[1].to_i rescue nil
64
- end
65
- end
66
- end
1
+ require 'rexml/document'
2
+ require 'douban/subject'
3
+ require 'douban/author'
4
+ require 'douban/equal'
5
+
6
+ module Douban
7
+ class Review
8
+ include Douban::Equal
9
+
10
+ class << self
11
+ def attr_names
12
+ [
13
+ :updated,
14
+ :subject,
15
+ :author,
16
+ :title,
17
+ :summary,
18
+ :link,
19
+ :id,
20
+ :rating,
21
+ :published,
22
+ :content
23
+ ]
24
+ end
25
+ end
26
+ attr_names.each do |attr|
27
+ attr_accessor attr
28
+ end
29
+ def initialize(atom)
30
+ doc = case atom
31
+ when REXML::Document then atom.root
32
+ when REXML::Element then atom
33
+ else REXML::Document.new(atom).root
34
+ end
35
+ subject=REXML::XPath.first(doc,"./db:subject")
36
+ @subject=Subject.new(subject) if subject
37
+ author=REXML::XPath.first(doc,"./author")
38
+ @author=Author.new(author.to_s) if author
39
+ title=REXML::XPath.first(doc,"./title")
40
+ @title=title.text if title
41
+ updated=REXML::XPath.first(doc,"./updated")
42
+ @updated=updated.text if updated
43
+ @published=REXML::XPath.first(doc,"./published/text()").to_s
44
+ summary=REXML::XPath.first(doc,"./summary")
45
+ @summary=summary.text if summary
46
+ @content = REXML::XPath.first(doc, "./content/text()").to_s
47
+ REXML::XPath.each(doc,"./link") do |link|
48
+ @link||={}
49
+ @link[link.attributes['rel']]=link.attributes['href']
50
+ end
51
+ id=REXML::XPath.first(doc,"./id")
52
+ @id=id.text if id
53
+ rating=REXML::XPath.first(doc,"./gd:rating")
54
+ if rating
55
+ @rating={}
56
+ @rating['min']=rating.attributes['min']
57
+ @rating['value']=rating.attributes['value']
58
+ @rating['max']=rating.attributes['max']
59
+ end
60
+ end
61
+
62
+ def review_id
63
+ /\/(\d+)$/.match(@id)[1].to_i rescue nil
64
+ end
65
+ end
66
+ end
@@ -1,119 +1,119 @@
1
- require 'rexml/document'
2
- require 'douban/tag'
3
- require 'douban/author'
4
- require 'douban/equal'
5
-
6
- module Douban
7
- class Subject
8
- include Douban::Equal
9
- class << self
10
- def attr_names
11
- [
12
- :id,
13
- :title,
14
- :category,
15
- :author,
16
- :link,
17
- :summary,
18
- :attribute,
19
- :tag,
20
- :rating
21
- ]
22
- end
23
- end
24
- attr_names.each do |attr|
25
- attr_accessor attr
26
- end
27
- def initialize(atom='')
28
- doc = case atom
29
- when REXML::Document then atom.root
30
- when REXML::Element then atom
31
- when nil then nil
32
- else REXML::Document.new(atom).root
33
- end
34
-
35
- id=REXML::XPath.first(doc,"./id")
36
- @id=id.text if id
37
- title=REXML::XPath.first(doc,"./title")
38
- @title=title.text if title
39
- @category={}
40
- category=REXML::XPath.first(doc,"./category")
41
- @category['term']=category.attributes['term'] if category
42
- @category['scheme']=category.attributes['scheme'] if category
43
- REXML::XPath.each(doc,"./db:tag") do |tag|
44
- @tag||=[]
45
- t=Tag.new
46
- t.title=tag.attributes['name']
47
- t.count=tag.attributes['count']
48
- @tag<< t
49
- end
50
- @author||=Author.new
51
- name=REXML::XPath.first(doc,"./author/name")
52
- @author.name=name.text if name
53
- uri=REXML::XPath.first(doc,"./author/uri")
54
- @author.uri=uri.text if uri
55
- REXML::XPath.each(doc,"./author/link") do |link|
56
- @author.link||={}
57
- @author.link[link.attributes['rel']]=link.attributes['href']
58
- end
59
- summary=REXML::XPath.first(doc,"./summary")
60
- @summary=summary.text if summary
61
- REXML::XPath.each(doc,"./link") do |link|
62
- @link||={}
63
- @link[link.attributes['rel']]=link.attributes['href']
64
- end
65
- REXML::XPath.each(doc,"./db:attribute") do |attribute|
66
- @attribute||={}
67
- @attribute[attribute.attributes['name']]=attribute.text
68
- end
69
- @rating={}
70
- rating=REXML::XPath.first(doc,"./gd:rating")
71
- if rating
72
- @rating['min']=rating.attributes['min']
73
- @rating['numRaters']=rating.attributes['numRaters']
74
- @rating['average']=rating.attributes['average']
75
- @rating['max']=rating.attributes['max']
76
- end
77
- end #initialize
78
-
79
- def subject_id
80
- /\/(\d+)$/.match(@id)[1].to_i rescue nil
81
- end
82
-
83
- end # class Subject
84
-
85
- class Movie<Subject
86
- def initialize(atom)
87
- super(atom)
88
- end
89
-
90
- def imdb
91
- /(tt\d+)\/$/.match(@attribute["imdb"])[1] rescue nil
92
- end
93
- end
94
-
95
- class Book<Subject
96
- def initialize(atom)
97
- super(atom)
98
- end
99
-
100
- def isbn10
101
- @attribute["isbn10"] rescue nil
102
- end
103
-
104
- def isbn13
105
- @attribute["isbn13"] rescue nil
106
- end
107
-
108
- def isbn
109
- isbn13 ? isbn13 : isbn10
110
- end
111
- end
112
-
113
- class Music<Subject
114
- def initialize(atom)
115
- super(atom)
116
- end
117
- end
118
- end
119
-
1
+ require 'rexml/document'
2
+ require 'douban/tag'
3
+ require 'douban/author'
4
+ require 'douban/equal'
5
+
6
+ module Douban
7
+ class Subject
8
+ include Douban::Equal
9
+ class << self
10
+ def attr_names
11
+ [
12
+ :id,
13
+ :title,
14
+ :category,
15
+ :author,
16
+ :link,
17
+ :summary,
18
+ :attribute,
19
+ :tag,
20
+ :rating
21
+ ]
22
+ end
23
+ end
24
+ attr_names.each do |attr|
25
+ attr_accessor attr
26
+ end
27
+ def initialize(atom='')
28
+ doc = case atom
29
+ when REXML::Document then atom.root
30
+ when REXML::Element then atom
31
+ when nil then nil
32
+ else REXML::Document.new(atom).root
33
+ end
34
+
35
+ id=REXML::XPath.first(doc,"./id")
36
+ @id=id.text if id
37
+ title=REXML::XPath.first(doc,"./title")
38
+ @title=title.text if title
39
+ @category={}
40
+ category=REXML::XPath.first(doc,"./category")
41
+ @category['term']=category.attributes['term'] if category
42
+ @category['scheme']=category.attributes['scheme'] if category
43
+ REXML::XPath.each(doc,"./db:tag") do |tag|
44
+ @tag||=[]
45
+ t=Tag.new
46
+ t.title=tag.attributes['name']
47
+ t.count=tag.attributes['count']
48
+ @tag<< t
49
+ end
50
+ @author||=Author.new
51
+ name=REXML::XPath.first(doc,"./author/name")
52
+ @author.name=name.text if name
53
+ uri=REXML::XPath.first(doc,"./author/uri")
54
+ @author.uri=uri.text if uri
55
+ REXML::XPath.each(doc,"./author/link") do |link|
56
+ @author.link||={}
57
+ @author.link[link.attributes['rel']]=link.attributes['href']
58
+ end
59
+ summary=REXML::XPath.first(doc,"./summary")
60
+ @summary=summary.text if summary
61
+ REXML::XPath.each(doc,"./link") do |link|
62
+ @link||={}
63
+ @link[link.attributes['rel']]=link.attributes['href']
64
+ end
65
+ REXML::XPath.each(doc,"./db:attribute") do |attribute|
66
+ @attribute||={}
67
+ @attribute[attribute.attributes['name']]=attribute.text
68
+ end
69
+ @rating={}
70
+ rating=REXML::XPath.first(doc,"./gd:rating")
71
+ if rating
72
+ @rating['min']=rating.attributes['min']
73
+ @rating['numRaters']=rating.attributes['numRaters']
74
+ @rating['average']=rating.attributes['average']
75
+ @rating['max']=rating.attributes['max']
76
+ end
77
+ end #initialize
78
+
79
+ def subject_id
80
+ /\/(\d+)$/.match(@id)[1].to_i rescue nil
81
+ end
82
+
83
+ end # class Subject
84
+
85
+ class Movie<Subject
86
+ def initialize(atom)
87
+ super(atom)
88
+ end
89
+
90
+ def imdb
91
+ /(tt\d+)\/$/.match(@attribute["imdb"])[1] rescue nil
92
+ end
93
+ end
94
+
95
+ class Book<Subject
96
+ def initialize(atom)
97
+ super(atom)
98
+ end
99
+
100
+ def isbn10
101
+ @attribute["isbn10"] rescue nil
102
+ end
103
+
104
+ def isbn13
105
+ @attribute["isbn13"] rescue nil
106
+ end
107
+
108
+ def isbn
109
+ isbn13 ? isbn13 : isbn10
110
+ end
111
+ end
112
+
113
+ class Music<Subject
114
+ def initialize(atom)
115
+ super(atom)
116
+ end
117
+ end
118
+ end
119
+