simple-rss 1.0.0 → 1.1
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/Rakefile +126 -3
- data/{doc → html}/classes/SimpleRSS.html +14 -1
- data/{doc → html}/classes/SimpleRSS.src/M000001.html +1 -1
- data/{doc → html}/classes/SimpleRSS.src/M000002.html +1 -1
- data/{doc → html}/classes/SimpleRSS.src/M000004.html +1 -1
- data/{doc → html}/classes/SimpleRSS.src/M000005.html +1 -1
- data/{doc → html}/classes/SimpleRSS.src/M000006.html +1 -1
- data/{doc → html}/classes/SimpleRSS.src/M000007.html +1 -1
- data/{doc → html}/classes/SimpleRSS.src/M000008.html +2 -2
- data/{doc → html}/classes/SimpleRSSError.html +0 -0
- data/html/created.rid +1 -0
- data/{doc → html}/files/README.html +0 -0
- data/{doc → html}/files/lib/simple-rss_rb.html +1 -1
- data/{doc → html}/fr_class_index.html +0 -0
- data/{doc → html}/fr_file_index.html +0 -0
- data/{doc → html}/fr_method_index.html +0 -0
- data/{doc → html}/index.html +0 -0
- data/{doc → html}/rdoc-style.css +0 -0
- data/lib/simple-rss.rb +15 -11
- data/test/base/base_test.rb +3 -0
- data/test/data/rss09.rdf +3 -0
- metadata +53 -49
- data/doc/created.rid +0 -1
data/Rakefile
CHANGED
@@ -4,11 +4,17 @@ require 'rake/testtask'
|
|
4
4
|
require 'rake/rdoctask'
|
5
5
|
require 'rake/gempackagetask'
|
6
6
|
require 'rake/contrib/rubyforgepublisher'
|
7
|
+
require File.dirname(__FILE__) + '/lib/simple-rss'
|
7
8
|
|
8
|
-
PKG_VERSION =
|
9
|
+
PKG_VERSION = SimpleRSS::VERSION
|
10
|
+
PKG_NAME = "simple-rss"
|
11
|
+
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
12
|
+
RUBY_FORGE_PROJECT = "simple-rss"
|
13
|
+
RUBY_FORGE_USER = ENV['RUBY_FORGE_USER'] || "cardmagic"
|
14
|
+
RELEASE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
9
15
|
|
10
16
|
PKG_FILES = FileList[
|
11
|
-
"lib/*", "bin/*", "test/**/*", "[A-Z]*", "Rakefile", "
|
17
|
+
"lib/*", "bin/*", "test/**/*", "[A-Z]*", "Rakefile", "html/**/*"
|
12
18
|
]
|
13
19
|
|
14
20
|
desc "Default Task"
|
@@ -32,7 +38,7 @@ end
|
|
32
38
|
desc "Create documentation"
|
33
39
|
Rake::RDocTask.new("doc") { |rdoc|
|
34
40
|
rdoc.title = "Simple RSS - A Flexible RSS and Atom reader for Ruby"
|
35
|
-
rdoc.rdoc_dir = '
|
41
|
+
rdoc.rdoc_dir = 'html'
|
36
42
|
rdoc.rdoc_files.include('README')
|
37
43
|
rdoc.rdoc_files.include('lib/*.rb')
|
38
44
|
}
|
@@ -88,3 +94,120 @@ desc "Publish new documentation"
|
|
88
94
|
task :publish do
|
89
95
|
Rake::RubyForgePublisher.new('simple-rss', 'cardmagic').upload
|
90
96
|
end
|
97
|
+
|
98
|
+
|
99
|
+
desc "Publish the release files to RubyForge."
|
100
|
+
task :upload => [:package] do
|
101
|
+
files = ["gem", "tar.gz", "zip"].map { |ext| "pkg/#{PKG_FILE_NAME}.#{ext}" }
|
102
|
+
|
103
|
+
if RUBY_FORGE_PROJECT then
|
104
|
+
require 'net/http'
|
105
|
+
require 'open-uri'
|
106
|
+
|
107
|
+
project_uri = "http://rubyforge.org/projects/#{RUBY_FORGE_PROJECT}/"
|
108
|
+
project_data = open(project_uri) { |data| data.read }
|
109
|
+
group_id = project_data[/[?&]group_id=(\d+)/, 1]
|
110
|
+
raise "Couldn't get group id" unless group_id
|
111
|
+
|
112
|
+
# This echos password to shell which is a bit sucky
|
113
|
+
if ENV["RUBY_FORGE_PASSWORD"]
|
114
|
+
password = ENV["RUBY_FORGE_PASSWORD"]
|
115
|
+
else
|
116
|
+
print "#{RUBY_FORGE_USER}@rubyforge.org's password: "
|
117
|
+
password = STDIN.gets.chomp
|
118
|
+
end
|
119
|
+
|
120
|
+
login_response = Net::HTTP.start("rubyforge.org", 80) do |http|
|
121
|
+
data = [
|
122
|
+
"login=1",
|
123
|
+
"form_loginname=#{RUBY_FORGE_USER}",
|
124
|
+
"form_pw=#{password}"
|
125
|
+
].join("&")
|
126
|
+
http.post("/account/login.php", data)
|
127
|
+
end
|
128
|
+
|
129
|
+
cookie = login_response["set-cookie"]
|
130
|
+
puts login_response["set-cookie"]
|
131
|
+
raise "Login failed" unless cookie
|
132
|
+
headers = { "Cookie" => cookie }
|
133
|
+
|
134
|
+
release_uri = "http://rubyforge.org/frs/admin/?group_id=#{group_id}"
|
135
|
+
release_data = open(release_uri, headers) { |data| data.read }
|
136
|
+
package_id = release_data[/[?&]package_id=(\d+)/, 1]
|
137
|
+
raise "Couldn't get package id" unless package_id
|
138
|
+
|
139
|
+
first_file = true
|
140
|
+
release_id = ""
|
141
|
+
|
142
|
+
files.each do |filename|
|
143
|
+
basename = File.basename(filename)
|
144
|
+
file_ext = File.extname(filename)
|
145
|
+
file_data = File.open(filename, "rb") { |file| file.read }
|
146
|
+
|
147
|
+
puts "Releasing #{basename}..."
|
148
|
+
|
149
|
+
release_response = Net::HTTP.start("rubyforge.org", 80) do |http|
|
150
|
+
release_date = Time.now.strftime("%Y-%m-%d %H:%M")
|
151
|
+
type_map = {
|
152
|
+
".zip" => "3000",
|
153
|
+
".tgz" => "3110",
|
154
|
+
".gz" => "3110",
|
155
|
+
".gem" => "1400"
|
156
|
+
}; type_map.default = "9999"
|
157
|
+
type = type_map[file_ext]
|
158
|
+
boundary = "rubyqMY6QN9bp6e4kS21H4y0zxcvoor"
|
159
|
+
|
160
|
+
query_hash = if first_file then
|
161
|
+
{
|
162
|
+
"group_id" => group_id,
|
163
|
+
"package_id" => package_id,
|
164
|
+
"release_name" => RELEASE_NAME,
|
165
|
+
"release_date" => release_date,
|
166
|
+
"type_id" => type,
|
167
|
+
"processor_id" => "8000", # Any
|
168
|
+
"release_notes" => "",
|
169
|
+
"release_changes" => "",
|
170
|
+
"preformatted" => "1",
|
171
|
+
"submit" => "1"
|
172
|
+
}
|
173
|
+
else
|
174
|
+
{
|
175
|
+
"group_id" => group_id,
|
176
|
+
"release_id" => release_id,
|
177
|
+
"package_id" => package_id,
|
178
|
+
"step2" => "1",
|
179
|
+
"type_id" => type,
|
180
|
+
"processor_id" => "8000", # Any
|
181
|
+
"submit" => "Add This File"
|
182
|
+
}
|
183
|
+
end
|
184
|
+
|
185
|
+
query = "?" + query_hash.map do |(name, value)|
|
186
|
+
[name, URI.encode(value)].join("=")
|
187
|
+
end.join("&")
|
188
|
+
|
189
|
+
data = [
|
190
|
+
"--" + boundary,
|
191
|
+
"Content-Disposition: form-data; name=\"userfile\"; filename=\"#{basename}\"",
|
192
|
+
"Content-Type: application/octet-stream",
|
193
|
+
"Content-Transfer-Encoding: binary",
|
194
|
+
"", file_data, ""
|
195
|
+
].join("\x0D\x0A")
|
196
|
+
|
197
|
+
release_headers = headers.merge(
|
198
|
+
"Content-Type" => "multipart/form-data; boundary=#{boundary}"
|
199
|
+
)
|
200
|
+
|
201
|
+
target = first_file ? "/frs/admin/qrs.php" : "/frs/admin/editrelease.php"
|
202
|
+
http.post(target + query, data, release_headers)
|
203
|
+
end
|
204
|
+
|
205
|
+
if first_file then
|
206
|
+
release_id = release_response.body[/release_id=(\d+)/, 1]
|
207
|
+
raise("Couldn't get release id") unless release_id
|
208
|
+
end
|
209
|
+
|
210
|
+
first_file = false
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
@@ -105,6 +105,19 @@
|
|
105
105
|
<div id="section">
|
106
106
|
|
107
107
|
|
108
|
+
<div id="constants-list">
|
109
|
+
<h3 class="section-bar">Constants</h3>
|
110
|
+
|
111
|
+
<div class="name-list">
|
112
|
+
<table summary="Constants">
|
113
|
+
<tr class="top-aligned-row context-row">
|
114
|
+
<td class="context-item-name">VERSION</td>
|
115
|
+
<td>=</td>
|
116
|
+
<td class="context-item-value">"1.1"</td>
|
117
|
+
</tr>
|
118
|
+
</table>
|
119
|
+
</div>
|
120
|
+
</div>
|
108
121
|
|
109
122
|
<div id="aliases-list">
|
110
123
|
<h3 class="section-bar">External Aliases</h3>
|
@@ -222,7 +235,7 @@
|
|
222
235
|
<div class="method-heading">
|
223
236
|
<a href="SimpleRSS.src/M000008.html" target="Code" class="method-signature"
|
224
237
|
onclick="popupCode('SimpleRSS.src/M000008.html');return false;">
|
225
|
-
<span class="method-name">parse</span><span class="method-args">(source,
|
238
|
+
<span class="method-name">parse</span><span class="method-args">(source, do_validate=true, ignore_unknown_element=true, parser_class=false)</span>
|
226
239
|
</a>
|
227
240
|
</div>
|
228
241
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line 35</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">source</span>)
|
15
15
|
<span class="ruby-ivar">@source</span> = <span class="ruby-identifier">source</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:read</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">read</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">to_s</span>
|
16
16
|
<span class="ruby-ivar">@items</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line 42</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">channel</span>() <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">end</span></pre>
|
15
15
|
</body>
|
16
16
|
</html>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line 46</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">feed_tags</span>
|
15
15
|
<span class="ruby-ivar">@@feed_tags</span>
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line 49</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">feed_tags=</span>(<span class="ruby-identifier">ft</span>)
|
15
15
|
<span class="ruby-ivar">@@feed_tags</span> = <span class="ruby-identifier">ft</span>
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line 53</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">item_tags</span>
|
15
15
|
<span class="ruby-ivar">@@item_tags</span>
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line 56</span>
|
14
14
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">item_tags=</span>(<span class="ruby-identifier">it</span>)
|
15
15
|
<span class="ruby-ivar">@@item_tags</span> = <span class="ruby-identifier">it</span>
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
@@ -10,8 +10,8 @@
|
|
10
10
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
11
|
</head>
|
12
12
|
<body class="standalone-code">
|
13
|
-
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line
|
14
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">
|
13
|
+
<pre><span class="ruby-comment cmt"># File lib/simple-rss.rb, line 61</span>
|
14
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">do_validate</span>=<span class="ruby-keyword kw">true</span>, <span class="ruby-identifier">ignore_unknown_element</span>=<span class="ruby-keyword kw">true</span>, <span class="ruby-identifier">parser_class</span>=<span class="ruby-keyword kw">false</span>)
|
15
15
|
<span class="ruby-identifier">new</span> <span class="ruby-identifier">source</span>
|
16
16
|
<span class="ruby-keyword kw">end</span></pre>
|
17
17
|
</body>
|
File without changes
|
data/html/created.rid
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Wed Feb 01 18:08:07 PST 2006
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/{doc → html}/index.html
RENAMED
File without changes
|
data/{doc → html}/rdoc-style.css
RENAMED
File without changes
|
data/lib/simple-rss.rb
CHANGED
@@ -2,6 +2,8 @@ require 'cgi'
|
|
2
2
|
require 'time'
|
3
3
|
|
4
4
|
class SimpleRSS
|
5
|
+
VERSION = "1.1"
|
6
|
+
|
5
7
|
attr_reader :items, :source
|
6
8
|
alias :entries :items
|
7
9
|
|
@@ -10,12 +12,13 @@ class SimpleRSS
|
|
10
12
|
:title, :subtitle, :link,
|
11
13
|
:description,
|
12
14
|
:author, :webMaster, :managingEditor, :contributor,
|
13
|
-
:pubDate, :lastBuildDate, :updated,
|
15
|
+
:pubDate, :lastBuildDate, :updated, :'dc:date',
|
14
16
|
:generator, :language, :docs, :cloud,
|
15
17
|
:ttl, :skipHours, :skipDays,
|
16
18
|
:image, :logo, :icon, :rating,
|
17
19
|
:rights, :copyright,
|
18
|
-
:textInput
|
20
|
+
:textInput, :'feedburner:browserFriendly',
|
21
|
+
:'itunes:author', :'itunes:category'
|
19
22
|
]
|
20
23
|
|
21
24
|
@@item_tags = [
|
@@ -23,7 +26,7 @@ class SimpleRSS
|
|
23
26
|
:title, :link,
|
24
27
|
:author, :contributor,
|
25
28
|
:description, :summary, :content, :'content:encoded', :comments,
|
26
|
-
:pubDate, :published, :updated, :expirationDate,
|
29
|
+
:pubDate, :published, :updated, :expirationDate, :modified, :'dc:date',
|
27
30
|
:category, :guid,
|
28
31
|
:'trackback:ping', :'trackback:about',
|
29
32
|
:'dc:creator', :'dc:title', :'dc:subject', :'dc:rights', :'dc:publisher'
|
@@ -55,7 +58,7 @@ class SimpleRSS
|
|
55
58
|
end
|
56
59
|
|
57
60
|
# The strict attribute is for compatibility with Ruby's standard RSS parser
|
58
|
-
def parse(source,
|
61
|
+
def parse(source, do_validate=true, ignore_unknown_element=true, parser_class=false)
|
59
62
|
new source
|
60
63
|
end
|
61
64
|
end
|
@@ -80,18 +83,19 @@ class SimpleRSS
|
|
80
83
|
end
|
81
84
|
|
82
85
|
if $2 || $3
|
83
|
-
|
84
|
-
|
86
|
+
tag_cleaned = clean_tag(tag)
|
87
|
+
eval %{ @#{ tag_cleaned } = clean_content(tag, $2, $3) }
|
88
|
+
self.class.class_eval %{ attr_reader :#{ tag_cleaned } }
|
85
89
|
end
|
86
90
|
end
|
87
91
|
|
88
92
|
# RSS items' title, link, and description
|
89
|
-
@source.scan( %r{<(rss:|atom:)?(item|entry)
|
93
|
+
@source.scan( %r{<(rss:|atom:)?(item|entry)([\s][^>]*)?>(.*?)</(rss:|atom:)?(item|entry)>}mi ) do |match|
|
90
94
|
item = Hash.new
|
91
95
|
@@item_tags.each do |tag|
|
92
|
-
if match[
|
96
|
+
if match[3] =~ %r{<(rss:|atom:)?#{tag}(.*?)>(.*?)</(rss:|atom:)?#{tag}>}mi
|
93
97
|
nil
|
94
|
-
elsif match[
|
98
|
+
elsif match[3] =~ %r{<(rss:|atom:)?#{tag}(.*?)/\s*>}mi
|
95
99
|
nil
|
96
100
|
end
|
97
101
|
item[clean_tag(tag)] = clean_content(tag, $2, $3) if $2 || $3
|
@@ -105,8 +109,8 @@ class SimpleRSS
|
|
105
109
|
def clean_content(tag, attrs, content)
|
106
110
|
content = content.to_s
|
107
111
|
case tag
|
108
|
-
when :pubDate, :lastBuildDate, :published, :updated, :expirationDate
|
109
|
-
Time.parse(content)
|
112
|
+
when :pubDate, :lastBuildDate, :published, :updated, :expirationDate, :modified, :'dc:date'
|
113
|
+
Time.parse(content) rescue unescape(content)
|
110
114
|
when :author, :contributor, :skipHours, :skipDays
|
111
115
|
unescape(content.gsub(/<.*?>/,''))
|
112
116
|
else
|
data/test/base/base_test.rb
CHANGED
@@ -24,6 +24,8 @@ class BaseTest < Test::Unit::TestCase
|
|
24
24
|
assert_equal "http://slashdot.org/", @rss09.channel.link
|
25
25
|
assert_equal "http://books.slashdot.org/article.pl?sid=05/08/29/1319236&from=rss", @rss09.items.first.link
|
26
26
|
assert_equal "http://books.slashdot.org/article.pl?sid=05/08/29/1319236&from=rss", @rss09.items.first[:link]
|
27
|
+
assert_equal Time.parse("Wed Aug 24 13:33:34 UTC 2005"), @rss20.items.first.pubDate
|
28
|
+
assert_equal Time.parse("Fri Sep 09 02:52:31 PDT 2005"), @rss09.channel.dc_date
|
27
29
|
end
|
28
30
|
|
29
31
|
def test_rss20
|
@@ -32,6 +34,7 @@ class BaseTest < Test::Unit::TestCase
|
|
32
34
|
assert_equal "http://tech.rufy.com", @rss20.channel.link
|
33
35
|
assert_equal "http://feeds.feedburner.com/rufytech?m=68", @rss20.items.first.link
|
34
36
|
assert_equal "http://feeds.feedburner.com/rufytech?m=68", @rss20.items.first[:link]
|
37
|
+
assert_equal "This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.", @rss20.channel.feedburner_browserFriendly
|
35
38
|
end
|
36
39
|
|
37
40
|
def test_atom
|
data/test/data/rss09.rdf
CHANGED
@@ -2,12 +2,14 @@
|
|
2
2
|
|
3
3
|
<rdf:RDF
|
4
4
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
5
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
5
6
|
xmlns="http://my.netscape.com/rdf/simple/0.9/">
|
6
7
|
|
7
8
|
<channel>
|
8
9
|
<title>Slashdot</title>
|
9
10
|
<link>http://slashdot.org/</link>
|
10
11
|
<description>News for nerds, stuff that matters</description>
|
12
|
+
<dc:date>2005-09-09T02:52:31-07:00</dc:date>
|
11
13
|
</channel>
|
12
14
|
|
13
15
|
<image>
|
@@ -19,6 +21,7 @@ xmlns="http://my.netscape.com/rdf/simple/0.9/">
|
|
19
21
|
<item>
|
20
22
|
<title>JBoss - A Developer's Notebook</title>
|
21
23
|
<link>http://books.slashdot.org/article.pl?sid=05/08/29/1319236&from=rss</link>
|
24
|
+
<dc:date>2005-09-09T02:52:31-07:00</dc:date>
|
22
25
|
</item>
|
23
26
|
|
24
27
|
<item>
|
metadata
CHANGED
@@ -1,73 +1,77 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.8.
|
2
|
+
rubygems_version: 0.8.11
|
3
3
|
specification_version: 1
|
4
4
|
name: simple-rss
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.
|
7
|
-
date:
|
8
|
-
summary:
|
9
|
-
designed to be backwards compatible with the standard RSS parser, but will never
|
10
|
-
do RSS generation."
|
6
|
+
version: "1.1"
|
7
|
+
date: 2006-02-01 00:00:00 -08:00
|
8
|
+
summary: A simple, flexible, extensible, and liberal RSS and Atom reader for Ruby. It is designed to be backwards compatible with the standard RSS parser, but will never do RSS generation.
|
11
9
|
require_paths:
|
12
|
-
|
10
|
+
- lib
|
13
11
|
email: lucas@rufy.com
|
14
12
|
homepage: http://simple-rss.rubyforge.org/
|
15
13
|
rubyforge_project:
|
16
|
-
description:
|
17
|
-
designed to be backwards compatible with the standard RSS parser, but will never
|
18
|
-
do RSS generation."
|
14
|
+
description: A simple, flexible, extensible, and liberal RSS and Atom reader for Ruby. It is designed to be backwards compatible with the standard RSS parser, but will never do RSS generation.
|
19
15
|
autorequire:
|
20
16
|
default_executable:
|
21
17
|
bindir: bin
|
22
18
|
has_rdoc: true
|
23
19
|
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
24
20
|
requirements:
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
version: 0.0.0
|
21
|
+
- - ">"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.0
|
29
24
|
version:
|
30
25
|
platform: ruby
|
26
|
+
signing_key:
|
27
|
+
cert_chain:
|
31
28
|
authors:
|
32
|
-
|
29
|
+
- Lucas Carlson
|
33
30
|
files:
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
31
|
+
- lib/simple-rss.rb
|
32
|
+
- test/base
|
33
|
+
- test/data
|
34
|
+
- test/test_helper.rb
|
35
|
+
- test/base/base_test.rb
|
36
|
+
- test/data/atom.xml
|
37
|
+
- test/data/not-rss.xml
|
38
|
+
- test/data/rss09.rdf
|
39
|
+
- test/data/rss20.xml
|
40
|
+
- LICENSE
|
41
|
+
- Rakefile
|
42
|
+
- README
|
43
|
+
- html/classes
|
44
|
+
- html/created.rid
|
45
|
+
- html/files
|
46
|
+
- html/fr_class_index.html
|
47
|
+
- html/fr_file_index.html
|
48
|
+
- html/fr_method_index.html
|
49
|
+
- html/index.html
|
50
|
+
- html/rdoc-style.css
|
51
|
+
- html/classes/SimpleRSS.html
|
52
|
+
- html/classes/SimpleRSS.src
|
53
|
+
- html/classes/SimpleRSSError.html
|
54
|
+
- html/classes/SimpleRSS.src/M000001.html
|
55
|
+
- html/classes/SimpleRSS.src/M000002.html
|
56
|
+
- html/classes/SimpleRSS.src/M000004.html
|
57
|
+
- html/classes/SimpleRSS.src/M000005.html
|
58
|
+
- html/classes/SimpleRSS.src/M000006.html
|
59
|
+
- html/classes/SimpleRSS.src/M000007.html
|
60
|
+
- html/classes/SimpleRSS.src/M000008.html
|
61
|
+
- html/files/lib
|
62
|
+
- html/files/README.html
|
63
|
+
- html/files/lib/simple-rss_rb.html
|
67
64
|
test_files: []
|
65
|
+
|
68
66
|
rdoc_options: []
|
67
|
+
|
69
68
|
extra_rdoc_files: []
|
69
|
+
|
70
70
|
executables: []
|
71
|
+
|
71
72
|
extensions: []
|
73
|
+
|
72
74
|
requirements: []
|
73
|
-
|
75
|
+
|
76
|
+
dependencies: []
|
77
|
+
|
data/doc/created.rid
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
Mon Aug 29 22:18:48 PDT 2005
|