rfeedreader 1.0.1 → 1.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/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
         |