julien51-sax-machine 0.0.19 → 0.0.20
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/lib/sax-machine.rb
    CHANGED
    
    
| 
         @@ -45,7 +45,7 @@ module SAXMachine 
     | 
|
| 
       45 
45 
     | 
    
         
             
                end
         
     | 
| 
       46 
46 
     | 
    
         | 
| 
       47 
47 
     | 
    
         
             
                def end_element(name)
         
     | 
| 
       48 
     | 
    
         
            -
                  if parsing_collection? && @collection_config.name == name
         
     | 
| 
      
 48 
     | 
    
         
            +
                  if parsing_collection? && @collection_config.name == name.split(':').last
         
     | 
| 
       49 
49 
     | 
    
         
             
                    @collection_handler.end_element(name)
         
     | 
| 
       50 
50 
     | 
    
         
             
                    @object.send(@collection_config.accessor) << @collection_handler.object
         
     | 
| 
       51 
51 
     | 
    
         
             
                    reset_current_collection
         
     | 
| 
         @@ -542,37 +542,71 @@ eoxml 
     | 
|
| 
       542 
542 
     | 
    
         
             
                    @document.link.should == 'http://feeds.delicious.com/v2/rss/tag/pubsubhubbub?count=15'
         
     | 
| 
       543 
543 
     | 
    
         
             
                  end
         
     | 
| 
       544 
544 
     | 
    
         
             
                end
         
     | 
| 
      
 545 
     | 
    
         
            +
              end  
         
     | 
| 
      
 546 
     | 
    
         
            +
              
         
     | 
| 
      
 547 
     | 
    
         
            +
              describe "yet another full example" do
         
     | 
| 
      
 548 
     | 
    
         
            +
              
         
     | 
| 
       545 
549 
     | 
    
         
             
                context "when parsing a Twitter example" do
         
     | 
| 
       546 
550 
     | 
    
         
             
                  before :all do
         
     | 
| 
       547 
     | 
    
         
            -
                     
     | 
| 
      
 551 
     | 
    
         
            +
                    
         
     | 
| 
      
 552 
     | 
    
         
            +
                    RSS_XMLNS = ['http://purl.org/rss/1.0/', '']
         
     | 
| 
      
 553 
     | 
    
         
            +
                    
         
     | 
| 
      
 554 
     | 
    
         
            +
                    ATOM_XMLNS = 'http://www.w3.org/2005/Atom' unless defined? ATOM_XMLNS
         
     | 
| 
      
 555 
     | 
    
         
            +
                    class Link
         
     | 
| 
      
 556 
     | 
    
         
            +
                      include SAXMachine
         
     | 
| 
      
 557 
     | 
    
         
            +
                    end
         
     | 
| 
      
 558 
     | 
    
         
            +
                    
         
     | 
| 
      
 559 
     | 
    
         
            +
                    class Entry
         
     | 
| 
      
 560 
     | 
    
         
            +
                      include SAXMachine
         
     | 
| 
      
 561 
     | 
    
         
            +
                      element   :title,        :xmlns => RSS_XMLNS
         
     | 
| 
      
 562 
     | 
    
         
            +
                      element   :link,         :xmlns => RSS_XMLNS,   :as => :entry_link
         
     | 
| 
      
 563 
     | 
    
         
            +
                      element   :title,        :xmlns => ATOM_XMLNS,  :as => :title
         
     | 
| 
      
 564 
     | 
    
         
            +
                      elements  :link,         :xmlns => ATOM_XMLNS,  :as => :links,      :class => Link
         
     | 
| 
      
 565 
     | 
    
         
            +
                    end
         
     | 
| 
      
 566 
     | 
    
         
            +
                    
         
     | 
| 
      
 567 
     | 
    
         
            +
                    class Feed
         
     | 
| 
      
 568 
     | 
    
         
            +
                      include SAXMachine
         
     | 
| 
      
 569 
     | 
    
         
            +
                      element   :title,        :xmlns => RSS_XMLNS,  :as => :title
         
     | 
| 
      
 570 
     | 
    
         
            +
                      element   :link,         :xmlns => RSS_XMLNS,  :as => :feed_link
         
     | 
| 
      
 571 
     | 
    
         
            +
                      elements  :item,         :xmlns => RSS_XMLNS,  :as => :entries,         :class => Entry
         
     | 
| 
      
 572 
     | 
    
         
            +
                      element   :title,        :xmlns => ATOM_XMLNS, :as => :title
         
     | 
| 
      
 573 
     | 
    
         
            +
                      elements  :link,         :xmlns => ATOM_XMLNS, :as => :links,           :class => Link
         
     | 
| 
      
 574 
     | 
    
         
            +
                    end
         
     | 
| 
      
 575 
     | 
    
         
            +
                    
         
     | 
| 
      
 576 
     | 
    
         
            +
                    @document = Feed.parse(<<-eoxml)
         
     | 
| 
       548 
577 
     | 
    
         
             
            <?xml version="1.0" encoding="UTF-8"?>
         
     | 
| 
       549 
     | 
    
         
            -
            <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
         
     | 
| 
       550 
     | 
    
         
            -
             
     | 
| 
       551 
     | 
    
         
            -
             
     | 
| 
       552 
     | 
    
         
            -
             
     | 
| 
       553 
     | 
    
         
            -
             
     | 
| 
       554 
     | 
    
         
            -
             
     | 
| 
       555 
     | 
    
         
            -
             
     | 
| 
       556 
     | 
    
         
            -
             
     | 
| 
       557 
     | 
    
         
            -
             
     | 
| 
       558 
     | 
    
         
            -
             
     | 
| 
       559 
     | 
    
         
            -
             
     | 
| 
       560 
     | 
    
         
            -
             
     | 
| 
       561 
     | 
    
         
            -
             
     | 
| 
       562 
     | 
    
         
            -
             
     | 
| 
       563 
     | 
    
         
            -
             
     | 
| 
       564 
     | 
    
         
            -
             
     | 
| 
       565 
     | 
    
         
            -
            </ 
     | 
| 
      
 578 
     | 
    
         
            +
                    <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
         
     | 
| 
      
 579 
     | 
    
         
            +
                      <channel>
         
     | 
| 
      
 580 
     | 
    
         
            +
                        <atom:link type="application/rss+xml" rel="self" href="http://twitter.com/statuses/user_timeline/5381582.rss"/>
         
     | 
| 
      
 581 
     | 
    
         
            +
                        <title>Twitter / julien51</title>
         
     | 
| 
      
 582 
     | 
    
         
            +
                        <link>http://twitter.com/julien51</link>
         
     | 
| 
      
 583 
     | 
    
         
            +
                        <description>Twitter updates from julien / julien51.</description>
         
     | 
| 
      
 584 
     | 
    
         
            +
                        <language>en-us</language>
         
     | 
| 
      
 585 
     | 
    
         
            +
                        <ttl>40</ttl>
         
     | 
| 
      
 586 
     | 
    
         
            +
                      <item>
         
     | 
| 
      
 587 
     | 
    
         
            +
                        <title>julien51: @github :  I get an error when trying to build one of my gems (julien51-sax-machine), it seems related to another gem's gemspec.</title>
         
     | 
| 
      
 588 
     | 
    
         
            +
                        <description>julien51: @github :  I get an error when trying to build one of my gems (julien51-sax-machine), it seems related to another gem's gemspec.</description>
         
     | 
| 
      
 589 
     | 
    
         
            +
                        <pubDate>Thu, 30 Jul 2009 01:00:30 +0000</pubDate>
         
     | 
| 
      
 590 
     | 
    
         
            +
                        <guid>http://twitter.com/julien51/statuses/2920716033</guid>
         
     | 
| 
      
 591 
     | 
    
         
            +
                        <link>http://twitter.com/julien51/statuses/2920716033</link>
         
     | 
| 
      
 592 
     | 
    
         
            +
                      </item>
         
     | 
| 
      
 593 
     | 
    
         
            +
                      <item>
         
     | 
| 
      
 594 
     | 
    
         
            +
                        <title>julien51: Hum, San Francisco's summer are delightful. http://bit.ly/VeXt4</title>
         
     | 
| 
      
 595 
     | 
    
         
            +
                        <description>julien51: Hum, San Francisco's summer are delightful. http://bit.ly/VeXt4</description>
         
     | 
| 
      
 596 
     | 
    
         
            +
                        <pubDate>Wed, 29 Jul 2009 23:07:32 +0000</pubDate>
         
     | 
| 
      
 597 
     | 
    
         
            +
                        <guid>http://twitter.com/julien51/statuses/2918869948</guid>
         
     | 
| 
      
 598 
     | 
    
         
            +
                        <link>http://twitter.com/julien51/statuses/2918869948</link>
         
     | 
| 
      
 599 
     | 
    
         
            +
                      </item>
         
     | 
| 
      
 600 
     | 
    
         
            +
                      </channel>
         
     | 
| 
      
 601 
     | 
    
         
            +
                    </rss>
         
     | 
| 
       566 
602 
     | 
    
         
             
            eoxml
         
     | 
| 
       567 
603 
     | 
    
         
             
                  end
         
     | 
| 
       568 
604 
     | 
    
         
             
                  it "should parse the title" do
         
     | 
| 
       569 
605 
     | 
    
         
             
                    @document.title.should == 'Twitter / julien51'
         
     | 
| 
       570 
606 
     | 
    
         
             
                  end
         
     | 
| 
       571 
     | 
    
         
            -
                   
     | 
| 
       572 
     | 
    
         
            -
                    @document.link.should == 'http://twitter.com/statuses/user_timeline/5381582.rss'
         
     | 
| 
       573 
     | 
    
         
            -
                  end
         
     | 
| 
      
 607 
     | 
    
         
            +
                  
         
     | 
| 
       574 
608 
     | 
    
         
             
                  it "should find an entry" do
         
     | 
| 
       575 
     | 
    
         
            -
                    @document.entries.length.should ==  
     | 
| 
      
 609 
     | 
    
         
            +
                    @document.entries.length.should == 2
         
     | 
| 
       576 
610 
     | 
    
         
             
                  end
         
     | 
| 
       577 
611 
     | 
    
         
             
                end
         
     | 
| 
       578 
612 
     | 
    
         
             
              end
         
     |