rfeedreader 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +6 -0
- data/lib/rfeedreader/version.rb +1 -1
- data/lib/rfeedreader.rb +18 -8
- data/test/test_rfeedreader.rb +6 -0
- data/website/index.html +1 -1
- metadata +2 -2
data/History.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
== 1.0.2 2007-11-14
|
2
|
+
|
3
|
+
* Add Rfeedreader.set_truncate_length(title = 45, description = 200) to manage tuncation size. No truncation: -1
|
4
|
+
* Correct text size truncation, taking care of html entity size
|
5
|
+
* Correct html entity truncation
|
6
|
+
|
1
7
|
== 1.0.1 2007-11-14
|
2
8
|
|
3
9
|
* Change user-agent signature
|
data/lib/rfeedreader/version.rb
CHANGED
data/lib/rfeedreader.rb
CHANGED
@@ -13,7 +13,7 @@ module Rfeedreader
|
|
13
13
|
module_function
|
14
14
|
|
15
15
|
class TextyHelper
|
16
|
-
def TextyHelper.clean(text, length
|
16
|
+
def TextyHelper.clean(text, length)
|
17
17
|
return text if text.empty?
|
18
18
|
|
19
19
|
if text.index("<")
|
@@ -27,15 +27,16 @@ module Rfeedreader
|
|
27
27
|
truncate(HTMLEntities.encode_entities(text, :named, :decimal), length)
|
28
28
|
end
|
29
29
|
|
30
|
-
def TextyHelper.truncate(text="", length =
|
31
|
-
return if text.empty?
|
30
|
+
def TextyHelper.truncate(text="", length = 0, truncate_string = "...")
|
31
|
+
return text if text.empty? or length < 1
|
32
32
|
|
33
|
-
|
33
|
+
# Remove size of truncate string
|
34
|
+
# and add space added by html entities
|
35
|
+
l = length - truncate_string.length + (text.size - text.gsub(/(?:&.[^;]*;)/, " ").size)
|
34
36
|
truncated_text = text[0...l]
|
35
37
|
|
36
38
|
# Avoid html entity truncation
|
37
|
-
truncated_text.gsub!(/(&\S
|
38
|
-
|
39
|
+
truncated_text.gsub!(/(&\S[^;]+)$/, '')
|
39
40
|
truncated_text << truncate_string if text.length > length
|
40
41
|
|
41
42
|
return truncated_text
|
@@ -230,7 +231,9 @@ module Rfeedreader
|
|
230
231
|
preformatted_title.gsub!(/<\!\[CDATA\[/, '')
|
231
232
|
preformatted_title.gsub!(/\]\]>/, '')
|
232
233
|
end
|
233
|
-
|
234
|
+
truncate_length = 45
|
235
|
+
truncate_length = Rfeedreader::TITLE_LENGTH if Rfeedreader.const_defined? "TITLE_LENGTH"
|
236
|
+
@title = TextyHelper.convertEncoding(TextyHelper.clean(preformatted_title, truncate_length), @charset)
|
234
237
|
end
|
235
238
|
|
236
239
|
def read_description
|
@@ -245,7 +248,9 @@ module Rfeedreader
|
|
245
248
|
end
|
246
249
|
|
247
250
|
unless @description.empty?
|
248
|
-
|
251
|
+
truncate_length = 200
|
252
|
+
truncate_length = Rfeedreader::DESCRIPTION_LENGTH if Rfeedreader.const_defined? "DESCRIPTION_LENGTH"
|
253
|
+
@description = TextyHelper.clean(@description, truncate_length)
|
249
254
|
@description = TextyHelper.convertEncoding(@description, @charset)
|
250
255
|
|
251
256
|
@description.gsub!(" ", "")
|
@@ -338,6 +343,11 @@ module Rfeedreader
|
|
338
343
|
def read_feed_header(uri)
|
339
344
|
return read_feed(uri, parse_entries=false)
|
340
345
|
end
|
346
|
+
|
347
|
+
def set_truncate_length(title = -1, description = -1)
|
348
|
+
const_set("TITLE_LENGTH", title)
|
349
|
+
const_set("DESCRIPTION_LENGTH", description)
|
350
|
+
end
|
341
351
|
|
342
352
|
def open_doc(link)
|
343
353
|
data = nil
|
data/test/test_rfeedreader.rb
CHANGED
@@ -206,6 +206,12 @@ class TestRfeedreader < Test::Unit::TestCase
|
|
206
206
|
|
207
207
|
def test_title_truncate
|
208
208
|
read_first "http://corankeando.zoomblog.com/rss.xml"
|
209
|
+
#Rfeedreader.set_truncate_length(-1, 45)
|
210
|
+
#Rfeedreader.read_first("http://corankeando.zoomblog.com/rss.xml").display_entries
|
211
|
+
end
|
212
|
+
|
213
|
+
def test_binema
|
214
|
+
read_first "http://binema.com/?feed=rss2"
|
209
215
|
end
|
210
216
|
|
211
217
|
def test_bad_title_encoding
|
data/website/index.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h1>rfeedreader</h1>
|
34
34
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/rfeedreader"; return false'>
|
35
35
|
<p>Get Version</p>
|
36
|
-
<a href="http://rubyforge.org/projects/rfeedreader" class="numbers">1.0.
|
36
|
+
<a href="http://rubyforge.org/projects/rfeedreader" class="numbers">1.0.2</a>
|
37
37
|
</div>
|
38
38
|
<h2>What</h2>
|
39
39
|
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rfeedreader
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date: 2007-11-
|
6
|
+
version: 1.0.2
|
7
|
+
date: 2007-11-20 00:00:00 +01:00
|
8
8
|
summary: Feed parser to read feed and return first posts of this feed. Special parsing from sources like Flickr, Jumcut, Google video, ...
|
9
9
|
require_paths:
|
10
10
|
- lib
|