rss-atom-feed_history 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/README.md +3 -2
- data/lib/rss/atom/feed_history/atom.rb +9 -0
- data/lib/rss/atom/feed_history/version.rb +1 -1
- data/lib/rss/atom/feed_history.rb +23 -4
- metadata +13 -12
data/README.md
CHANGED
@@ -20,10 +20,11 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
require 'rss/atom/feed_history'
|
23
|
+
require 'rss/atom/feed_history/atom'
|
24
24
|
|
25
25
|
feed = RSS::Parser.parse uri
|
26
|
-
feed.
|
26
|
+
feed.complete? # => true when the feed includes <fh:complete/>
|
27
|
+
arch = open(feed.previous_archive_page) if feed.archived?
|
27
28
|
|
28
29
|
## Contributing
|
29
30
|
|
@@ -10,6 +10,8 @@ module RSS
|
|
10
10
|
'complete',
|
11
11
|
'archive'
|
12
12
|
]
|
13
|
+
PAGED_FEED_RELS = ['first', 'last', 'previous', 'next']
|
14
|
+
ARCHIVED_FEED_RELS = ['prev-archive', 'next-archive', 'current']
|
13
15
|
|
14
16
|
class << self
|
15
17
|
def included(klass)
|
@@ -20,6 +22,27 @@ module RSS
|
|
20
22
|
end
|
21
23
|
end
|
22
24
|
|
25
|
+
def complete?
|
26
|
+
!!fh_complete
|
27
|
+
end
|
28
|
+
|
29
|
+
def paged?
|
30
|
+
links.any? {|link| FeedHistory::PAGED_FEED_RELS.include? link.rel}
|
31
|
+
end
|
32
|
+
|
33
|
+
def archived?
|
34
|
+
!!fh_archive
|
35
|
+
end
|
36
|
+
|
37
|
+
(PAGED_FEED_RELS + ARCHIVED_FEED_RELS).each do |rel|
|
38
|
+
method_name = "#{rel}_page".gsub(/-/, '_')
|
39
|
+
define_method(method_name) do
|
40
|
+
if link = links.find {|link| link.rel == rel}
|
41
|
+
link.href
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
23
46
|
ELEMENTS.each do |name|
|
24
47
|
module_eval(<<-EOC, *Utils.get_file_and_line_from_caller(0))
|
25
48
|
class #{Utils.to_class_name(name)} < Element
|
@@ -51,9 +74,5 @@ module RSS
|
|
51
74
|
BaseListener.install_class_name(URI, name, Utils.to_class_name(name))
|
52
75
|
end
|
53
76
|
end
|
54
|
-
|
55
|
-
class Feed
|
56
|
-
include FeedHistory
|
57
|
-
end
|
58
77
|
end
|
59
78
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rss-atom-feed_history
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-03 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: test-unit
|
16
|
-
requirement: &
|
16
|
+
requirement: &17839340 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *17839340
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: simplecov
|
27
|
-
requirement: &
|
27
|
+
requirement: &17838920 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *17838920
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: yard
|
38
|
-
requirement: &
|
38
|
+
requirement: &17838500 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *17838500
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: pry
|
49
|
-
requirement: &
|
49
|
+
requirement: &17838080 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *17838080
|
58
58
|
description: Enables standard bundled RSS library parse and make feeds including "Feed
|
59
59
|
Paging and Archiving"(RFC 5005).
|
60
60
|
email:
|
@@ -69,6 +69,7 @@ files:
|
|
69
69
|
- README.md
|
70
70
|
- Rakefile
|
71
71
|
- lib/rss/atom/feed_history.rb
|
72
|
+
- lib/rss/atom/feed_history/atom.rb
|
72
73
|
- lib/rss/atom/feed_history/version.rb
|
73
74
|
- rss-atom-feed_history.gemspec
|
74
75
|
- setup.rb
|
@@ -86,7 +87,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
86
87
|
version: '0'
|
87
88
|
segments:
|
88
89
|
- 0
|
89
|
-
hash: -
|
90
|
+
hash: -2424412047240753055
|
90
91
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
92
|
none: false
|
92
93
|
requirements:
|
@@ -95,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
95
96
|
version: '0'
|
96
97
|
segments:
|
97
98
|
- 0
|
98
|
-
hash: -
|
99
|
+
hash: -2424412047240753055
|
99
100
|
requirements: []
|
100
101
|
rubyforge_project:
|
101
102
|
rubygems_version: 1.8.8
|