featherdust 0.0.2 → 0.0.3
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 +17 -3
 - data/Manifest.txt +0 -2
 - data/README.txt +6 -1
 - data/lib/featherdust.rb +53 -31
 - data/test/test_featherdust.rb +116 -243
 - data/todo.txt +0 -13
 - metadata +2 -5
 - data/lib/particle.rb +0 -16
 - data/test/test_particle.rb +0 -0
 
    
        data/History.txt
    CHANGED
    
    | 
         @@ -1,6 +1,20 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            ===  
     | 
| 
      
 1 
     | 
    
         
            +
            === 0.0.1 / 2008-12-17
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            *  
     | 
| 
      
 3 
     | 
    
         
            +
            * First release
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
              *  
     | 
| 
      
 5 
     | 
    
         
            +
              * Initial release
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            === 0.0.2 / 2008-12-18
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            * Updated release
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              * Cleaned up output functionality, and tests that pass are actually testing the gem, not just passing tests.
         
     | 
| 
      
 13 
     | 
    
         
            +
              
         
     | 
| 
      
 14 
     | 
    
         
            +
            === 0.0.3 / 2008-12-19
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            * Third release
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
              * Added in link detection
         
     | 
| 
      
 19 
     | 
    
         
            +
              * Properly structured tests
         
     | 
| 
      
 20 
     | 
    
         
            +
              * Plain text version
         
     | 
    
        data/Manifest.txt
    CHANGED
    
    
    
        data/README.txt
    CHANGED
    
    | 
         @@ -22,6 +22,11 @@ If you have questions (or suggestions), please feel free to shoot them off to mi 
     | 
|
| 
       22 
22 
     | 
    
         
             
            == SYNOPSIS:
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
              my_statuses = Featherdust.new("panpainter", 5)
         
     | 
| 
      
 25 
     | 
    
         
            +
              my_statuses.display_status
         
     | 
| 
      
 26 
     | 
    
         
            +
              
         
     | 
| 
      
 27 
     | 
    
         
            +
              === Plain Text
         
     | 
| 
      
 28 
     | 
    
         
            +
              plain_statuses = Featherdust.new("panpainter",5,{:display => "plain"})
         
     | 
| 
      
 29 
     | 
    
         
            +
              plain_statuses.display_status
         
     | 
| 
       25 
30 
     | 
    
         | 
| 
       26 
31 
     | 
    
         
             
            == REQUIREMENTS:
         
     | 
| 
       27 
32 
     | 
    
         | 
| 
         @@ -30,7 +35,7 @@ If you have questions (or suggestions), please feel free to shoot them off to mi 
     | 
|
| 
       30 
35 
     | 
    
         | 
| 
       31 
36 
     | 
    
         
             
            == INSTALL:
         
     | 
| 
       32 
37 
     | 
    
         | 
| 
       33 
     | 
    
         
            -
            *  
     | 
| 
      
 38 
     | 
    
         
            +
            * gem install featherdust
         
     | 
| 
       34 
39 
     | 
    
         | 
| 
       35 
40 
     | 
    
         
             
            == LICENSE:
         
     | 
| 
       36 
41 
     | 
    
         | 
    
        data/lib/featherdust.rb
    CHANGED
    
    | 
         @@ -3,31 +3,57 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            require 'rubygems'
         
     | 
| 
       4 
4 
     | 
    
         
             
            require 'nokogiri'
         
     | 
| 
       5 
5 
     | 
    
         
             
            require 'net/http'
         
     | 
| 
      
 6 
     | 
    
         
            +
            require 'time'
         
     | 
| 
       6 
7 
     | 
    
         | 
| 
       7 
8 
     | 
    
         
             
            class Featherdust
         
     | 
| 
       8 
     | 
    
         
            -
              VERSION = '0.0. 
     | 
| 
      
 9 
     | 
    
         
            +
              VERSION = '0.0.3'
         
     | 
| 
       9 
10 
     | 
    
         | 
| 
       10 
11 
     | 
    
         
             
              attr_accessor :username, :num_posts, :raw_posts, :posts, :url
         
     | 
| 
       11 
     | 
    
         
            -
              def initialize( 
     | 
| 
      
 12 
     | 
    
         
            +
              def initialize(*args)
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                args.each do |a|
         
     | 
| 
      
 15 
     | 
    
         
            +
                      if a.class == String
         
     | 
| 
      
 16 
     | 
    
         
            +
                        @username = a
         
     | 
| 
      
 17 
     | 
    
         
            +
                      elsif a.class == Hash
         
     | 
| 
      
 18 
     | 
    
         
            +
                        @plain_text = a[:display] if a[:display] = "plain"
         
     | 
| 
      
 19 
     | 
    
         
            +
                      elsif a.class == Fixnum
         
     | 
| 
      
 20 
     | 
    
         
            +
                        @num_posts = a
         
     | 
| 
      
 21 
     | 
    
         
            +
                      else
         
     | 
| 
      
 22 
     | 
    
         
            +
                        raise "Wrong variable type."
         
     | 
| 
      
 23 
     | 
    
         
            +
                      end      
         
     | 
| 
      
 24 
     | 
    
         
            +
                    end
         
     | 
| 
      
 25 
     | 
    
         
            +
                
         
     | 
| 
       12 
26 
     | 
    
         
             
                @username = username
         
     | 
| 
       13 
27 
     | 
    
         
             
                @num_posts = num_posts
         
     | 
| 
       14 
28 
     | 
    
         
             
                @raw_posts = Array.new
         
     | 
| 
      
 29 
     | 
    
         
            +
                
         
     | 
| 
      
 30 
     | 
    
         
            +
                
         
     | 
| 
      
 31 
     | 
    
         
            +
                @url = Nokogiri::XML(Net::HTTP.get("twitter.com", "/statuses/user_timeline/#{@username}.xml?count=#{@num_posts}"))
         
     | 
| 
       15 
32 
     | 
    
         
             
              end
         
     | 
| 
       16 
     | 
    
         
            -
              
         
     | 
| 
       17 
     | 
    
         
            -
              def self.run command
         
     | 
| 
       18 
     | 
    
         
            -
                username = ARGV.shift
         
     | 
| 
       19 
     | 
    
         
            -
                number = ARGV.shift
         
     | 
| 
       20 
33 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
                
         
     | 
| 
       23 
     | 
    
         
            -
                 
     | 
| 
      
 34 
     | 
    
         
            +
              def display_statuses
         
     | 
| 
      
 35 
     | 
    
         
            +
                tweets = get_statuses
         
     | 
| 
      
 36 
     | 
    
         
            +
                if @plain_text
         
     | 
| 
      
 37 
     | 
    
         
            +
                  @posts = ""
         
     | 
| 
      
 38 
     | 
    
         
            +
                  tweets.each do |tweet|
         
     | 
| 
      
 39 
     | 
    
         
            +
                    @posts += "* #{tweet[:text]} (on #{pretty_time(tweet[:created_at])}) [http://twitter.com/#{@username}/statuses/#{tweet[:id]}]\n"
         
     | 
| 
      
 40 
     | 
    
         
            +
                  end
         
     | 
| 
      
 41 
     | 
    
         
            +
                else
         
     | 
| 
      
 42 
     | 
    
         
            +
                  @posts = "<ul>\n"
         
     | 
| 
      
 43 
     | 
    
         
            +
                  tweets.each do |tweet|
         
     | 
| 
      
 44 
     | 
    
         
            +
                    @posts += "  <li>
         
     | 
| 
      
 45 
     | 
    
         
            +
                <p class=\"twitter_status\">#{urlize(tweet[:text])}</p>
         
     | 
| 
      
 46 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/#{@username}/statuses/#{tweet[:id]}\" title=\"Status update on Twitter\"> on #{pretty_time(tweet[:created_at])}</a></span>
         
     | 
| 
      
 47 
     | 
    
         
            +
              </li>\n"
         
     | 
| 
      
 48 
     | 
    
         
            +
                  end
         
     | 
| 
      
 49 
     | 
    
         
            +
                  @posts += "</ul>\n"
         
     | 
| 
      
 50 
     | 
    
         
            +
                end
         
     | 
| 
      
 51 
     | 
    
         
            +
                return @posts
         
     | 
| 
       24 
52 
     | 
    
         
             
              end
         
     | 
| 
       25 
53 
     | 
    
         | 
| 
       26 
54 
     | 
    
         
             
              def get_statuses
         
     | 
| 
       27 
     | 
    
         
            -
                if is_twitter_up?  
     | 
| 
       28 
     | 
    
         
            -
                   
     | 
| 
       29 
     | 
    
         
            -
                else
         
     | 
| 
       30 
     | 
    
         
            -
                  status_list = Nokogiri::XML(Net::HTTP.get("twitter.com", "/statuses/user_timeline/#{@username}.xml?count=#{@num_posts}"))
         
     | 
| 
      
 55 
     | 
    
         
            +
                if is_twitter_up? == "true"
         
     | 
| 
      
 56 
     | 
    
         
            +
                  status_list = @url
         
     | 
| 
       31 
57 
     | 
    
         
             
                  status_list.xpath('/statuses/status').each do |statuses|
         
     | 
| 
       32 
58 
     | 
    
         
             
                    status_hash = {}
         
     | 
| 
       33 
59 
     | 
    
         
             
                    statuses.children.each do |status|
         
     | 
| 
         @@ -48,26 +74,22 @@ class Featherdust 
     | 
|
| 
       48 
74 
     | 
    
         
             
                end
         
     | 
| 
       49 
75 
     | 
    
         
             
                return @raw_posts
         
     | 
| 
       50 
76 
     | 
    
         
             
              end
         
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
              def display_statuses
         
     | 
| 
       53 
     | 
    
         
            -
                tweets = get_statuses
         
     | 
| 
       54 
     | 
    
         
            -
                @posts = "<ul>"
         
     | 
| 
       55 
     | 
    
         
            -
                tweets.each do |tweet|
         
     | 
| 
       56 
     | 
    
         
            -
                  # TODO: This is really ugly, and I think it can be written better.
         
     | 
| 
       57 
     | 
    
         
            -
                  @posts += "
         
     | 
| 
       58 
     | 
    
         
            -
              <li>
         
     | 
| 
       59 
     | 
    
         
            -
                <p class=\"twitter_status\">#{tweet[:text]}</p>
         
     | 
| 
       60 
     | 
    
         
            -
                <span><a href=\"http://twitter.com/#{@username}/statuses/#{tweet[:id]}\" title=\"Status update on Twitter\"> on #{tweet[:created_at]}</a></span>
         
     | 
| 
       61 
     | 
    
         
            -
              </li>"
         
     | 
| 
       62 
     | 
    
         
            -
                end
         
     | 
| 
       63 
     | 
    
         
            -
                @posts += "\n</ul>\n"
         
     | 
| 
       64 
     | 
    
         
            -
              end
         
     | 
| 
       65 
     | 
    
         
            -
              
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
       66 
78 
     | 
    
         
             
              def is_twitter_up?
         
     | 
| 
       67 
79 
     | 
    
         
             
                twitter_status = Nokogiri::XML(Net::HTTP.get("twitter.com","/help/test.xml"))
         
     | 
| 
       68 
80 
     | 
    
         
             
                twitter_status.xpath("/ok").inner_text
         
     | 
| 
       69 
81 
     | 
    
         
             
              end
         
     | 
| 
       70 
     | 
    
         
            -
              
         
     | 
| 
       71 
     | 
    
         
            -
            end
         
     | 
| 
       72 
82 
     | 
    
         | 
| 
       73 
     | 
    
         
            -
             
     | 
| 
      
 83 
     | 
    
         
            +
              def pretty_time(date)
         
     | 
| 
      
 84 
     | 
    
         
            +
                human_date = Date.parse(date)
         
     | 
| 
      
 85 
     | 
    
         
            +
                pretty_date = human_date.strftime("%A, %b %d")
         
     | 
| 
      
 86 
     | 
    
         
            +
                human_time = Time.parse(date)
         
     | 
| 
      
 87 
     | 
    
         
            +
                pretty_date += human_time.strftime(" at %I:%M %p")
         
     | 
| 
      
 88 
     | 
    
         
            +
              end
         
     | 
| 
      
 89 
     | 
    
         
            +
              
         
     | 
| 
      
 90 
     | 
    
         
            +
              def urlize(string)
         
     | 
| 
      
 91 
     | 
    
         
            +
                words = string.split(" ")
         
     | 
| 
      
 92 
     | 
    
         
            +
                urlized = words.map{ |word| word =~ /(ht|f)tp(s?)/ ? word = "<a href=\"#{word}\">#{word}</a>" : word = word }
         
     | 
| 
      
 93 
     | 
    
         
            +
                urlized.join(" ")
         
     | 
| 
      
 94 
     | 
    
         
            +
              end
         
     | 
| 
      
 95 
     | 
    
         
            +
            end
         
     | 
    
        data/test/test_featherdust.rb
    CHANGED
    
    | 
         @@ -9,7 +9,7 @@ 
     | 
|
| 
       9 
9 
     | 
    
         
             
            $: << 'lib'
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            require 'test/unit'
         
     | 
| 
       12 
     | 
    
         
            -
            require 'featherdust 
     | 
| 
      
 12 
     | 
    
         
            +
            require 'featherdust'
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
            require 'rubygems'
         
     | 
| 
       15 
15 
     | 
    
         
             
            require 'nokogiri'
         
     | 
| 
         @@ -17,276 +17,149 @@ require 'nokogiri' 
     | 
|
| 
       17 
17 
     | 
    
         
             
            class TestFeatherdust < Test::Unit::TestCase
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
              def setup
         
     | 
| 
       20 
     | 
    
         
            -
                @ 
     | 
| 
       21 
     | 
    
         
            -
                @ 
     | 
| 
       22 
     | 
    
         
            -
                
         
     | 
| 
       23 
     | 
    
         
            -
                @ 
     | 
| 
      
 20 
     | 
    
         
            +
                @cnn = Featherdust.new "cnn", 20
         
     | 
| 
      
 21 
     | 
    
         
            +
                @cnn.url = Nokogiri::XML(File.open('./test/cnn.xml')) # don't want to rely on CNN not updating again, or the internet working for that matter.
         
     | 
| 
      
 22 
     | 
    
         
            +
                @plain_cnn = Featherdust.new "cnn", 20, {:display => "plain" }
         
     | 
| 
      
 23 
     | 
    
         
            +
                @plain_cnn.url = Nokogiri::XML(File.open('./test/cnn.xml')) # don't want to rely on CNN not updating again, or the internet working for that matter.
         
     | 
| 
       24 
24 
     | 
    
         
             
              end
         
     | 
| 
       25 
25 
     | 
    
         | 
| 
       26 
     | 
    
         
            -
               
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
                 
     | 
| 
       29 
     | 
    
         
            -
                expected = "true"
         
     | 
| 
       30 
     | 
    
         
            -
                assert_equal expected, actual
         
     | 
| 
      
 26 
     | 
    
         
            +
              def test_that_url_is_working
         
     | 
| 
      
 27 
     | 
    
         
            +
                @live_test = Featherdust.new "cnn"
         
     | 
| 
      
 28 
     | 
    
         
            +
                assert @live_test.url
         
     | 
| 
       31 
29 
     | 
    
         
             
              end
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
              def test_get_statuses_actually_has_something
         
     | 
| 
      
 32 
     | 
    
         
            +
                assert @cnn.raw_posts
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
       33 
35 
     | 
    
         
             
              def test_get_statuses
         
     | 
| 
       34 
     | 
    
         
            -
                 
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
                   :in_reply_to_status_id=>"",
         
     | 
| 
       41 
     | 
    
         
            -
                   :in_reply_to_screen_name=>"",
         
     | 
| 
       42 
     | 
    
         
            -
                   :protected=>"false",
         
     | 
| 
       43 
     | 
    
         
            -
                   :in_reply_to_user_id=>"",
         
     | 
| 
       44 
     | 
    
         
            -
                   :created_at=>"Thu Dec 18 13:48:21 +0000 2008",
         
     | 
| 
       45 
     | 
    
         
            -
                   :name=>"CNN.com",
         
     | 
| 
       46 
     | 
    
         
            -
                   :user_id=>"759251",
         
     | 
| 
       47 
     | 
    
         
            -
                   :followers_count=>"14965",
         
     | 
| 
       48 
     | 
    
         
            -
                   :truncated=>"false",
         
     | 
| 
       49 
     | 
    
         
            -
                   :description=>
         
     | 
| 
       50 
     | 
    
         
            -
                    "Breaking News, U.S., World, Weather, Entertainment & Video News",
         
     | 
| 
       51 
     | 
    
         
            -
                   :text=>
         
     | 
| 
       52 
     | 
    
         
            -
                    "20 Iraqi Interior Ministry officers arrested http://tinyurl.com/4xghtt",
         
     | 
| 
       53 
     | 
    
         
            -
                   :favorited=>"false",
         
     | 
| 
       54 
     | 
    
         
            -
                   :id=>"1064896431",
         
     | 
| 
       55 
     | 
    
         
            -
                   :screen_name=>"cnn"},
         
     | 
| 
       56 
     | 
    
         
            -
                  {:location=>"",
         
     | 
| 
       57 
     | 
    
         
            -
                   :source=>"<a href=\"http://twitterfeed.com\">twitterfeed</a>",
         
     | 
| 
       58 
     | 
    
         
            -
                   :url=>"http://www.cnn.com",
         
     | 
| 
       59 
     | 
    
         
            -
                   :profile_image_url=>
         
     | 
| 
       60 
     | 
    
         
            -
                    "http://s3.amazonaws.com/twitter_production/profile_images/67228129/icon.cnn_normal.png",
         
     | 
| 
       61 
     | 
    
         
            -
                   :in_reply_to_status_id=>"",
         
     | 
| 
       62 
     | 
    
         
            -
                   :in_reply_to_screen_name=>"",
         
     | 
| 
       63 
     | 
    
         
            -
                   :protected=>"false",
         
     | 
| 
       64 
     | 
    
         
            -
                   :in_reply_to_user_id=>"",
         
     | 
| 
       65 
     | 
    
         
            -
                   :created_at=>"Thu Dec 18 10:49:17 +0000 2008",
         
     | 
| 
       66 
     | 
    
         
            -
                   :name=>"CNN.com",
         
     | 
| 
       67 
     | 
    
         
            -
                   :user_id=>"759251",
         
     | 
| 
       68 
     | 
    
         
            -
                   :followers_count=>"14955",
         
     | 
| 
       69 
     | 
    
         
            -
                   :truncated=>"false",
         
     | 
| 
       70 
     | 
    
         
            -
                   :description=>
         
     | 
| 
       71 
     | 
    
         
            -
                    "Breaking News, U.S., World, Weather, Entertainment & Video News",
         
     | 
| 
       72 
     | 
    
         
            -
                   :text=>"Bagosora guilty of Rwanda genocide http://tinyurl.com/3mw72t",
         
     | 
| 
       73 
     | 
    
         
            -
                   :favorited=>"false",
         
     | 
| 
       74 
     | 
    
         
            -
                   :id=>"1064690521",
         
     | 
| 
       75 
     | 
    
         
            -
                   :screen_name=>"cnn"},
         
     | 
| 
       76 
     | 
    
         
            -
                  {:location=>"",
         
     | 
| 
       77 
     | 
    
         
            -
                   :source=>"<a href=\"http://twitterfeed.com\">twitterfeed</a>",
         
     | 
| 
       78 
     | 
    
         
            -
                   :url=>"http://www.cnn.com",
         
     | 
| 
       79 
     | 
    
         
            -
                   :profile_image_url=>
         
     | 
| 
       80 
     | 
    
         
            -
                    "http://s3.amazonaws.com/twitter_production/profile_images/67228129/icon.cnn_normal.png",
         
     | 
| 
       81 
     | 
    
         
            -
                   :in_reply_to_status_id=>"",
         
     | 
| 
       82 
     | 
    
         
            -
                   :in_reply_to_screen_name=>"",
         
     | 
| 
       83 
     | 
    
         
            -
                   :protected=>"false",
         
     | 
| 
       84 
     | 
    
         
            -
                   :in_reply_to_user_id=>"",
         
     | 
| 
       85 
     | 
    
         
            -
                   :created_at=>"Thu Dec 18 09:48:46 +0000 2008",
         
     | 
| 
       86 
     | 
    
         
            -
                   :name=>"CNN.com",
         
     | 
| 
       87 
     | 
    
         
            -
                   :user_id=>"759251",
         
     | 
| 
       88 
     | 
    
         
            -
                   :followers_count=>"14954",
         
     | 
| 
       89 
     | 
    
         
            -
                   :truncated=>"false",
         
     | 
| 
       90 
     | 
    
         
            -
                   :description=>
         
     | 
| 
       91 
     | 
    
         
            -
                    "Breaking News, U.S., World, Weather, Entertainment & Video News",
         
     | 
| 
       92 
     | 
    
         
            -
                   :text=>"Obama's inaugural choice ignites outrage http://tinyurl.com/52ojol",
         
     | 
| 
       93 
     | 
    
         
            -
                   :favorited=>"false",
         
     | 
| 
       94 
     | 
    
         
            -
                   :id=>"1064634944",
         
     | 
| 
       95 
     | 
    
         
            -
                   :screen_name=>"cnn"},
         
     | 
| 
       96 
     | 
    
         
            -
                  {:location=>"",
         
     | 
| 
       97 
     | 
    
         
            -
                   :source=>"<a href=\"http://twitterfeed.com\">twitterfeed</a>",
         
     | 
| 
       98 
     | 
    
         
            -
                   :url=>"http://www.cnn.com",
         
     | 
| 
       99 
     | 
    
         
            -
                   :profile_image_url=>
         
     | 
| 
       100 
     | 
    
         
            -
                    "http://s3.amazonaws.com/twitter_production/profile_images/67228129/icon.cnn_normal.png",
         
     | 
| 
       101 
     | 
    
         
            -
                   :in_reply_to_status_id=>"",
         
     | 
| 
       102 
     | 
    
         
            -
                   :in_reply_to_screen_name=>"",
         
     | 
| 
       103 
     | 
    
         
            -
                   :protected=>"false",
         
     | 
| 
       104 
     | 
    
         
            -
                   :in_reply_to_user_id=>"",
         
     | 
| 
       105 
     | 
    
         
            -
                   :created_at=>"Thu Dec 18 09:48:38 +0000 2008",
         
     | 
| 
       106 
     | 
    
         
            -
                   :name=>"CNN.com",
         
     | 
| 
       107 
     | 
    
         
            -
                   :user_id=>"759251",
         
     | 
| 
       108 
     | 
    
         
            -
                   :followers_count=>"14954",
         
     | 
| 
       109 
     | 
    
         
            -
                   :truncated=>"false",
         
     | 
| 
       110 
     | 
    
         
            -
                   :description=>
         
     | 
| 
       111 
     | 
    
         
            -
                    "Breaking News, U.S., World, Weather, Entertainment & Video News",
         
     | 
| 
       112 
     | 
    
         
            -
                   :text=>
         
     | 
| 
       113 
     | 
    
         
            -
                    "Alec Baldwin on divorce, custody and Palin http://tinyurl.com/3e6u37",
         
     | 
| 
       114 
     | 
    
         
            -
                   :favorited=>"false",
         
     | 
| 
       115 
     | 
    
         
            -
                   :id=>"1064634845",
         
     | 
| 
       116 
     | 
    
         
            -
                   :screen_name=>"cnn"},
         
     | 
| 
       117 
     | 
    
         
            -
                  {:location=>"",
         
     | 
| 
       118 
     | 
    
         
            -
                   :source=>"<a href=\"http://twitterfeed.com\">twitterfeed</a>",
         
     | 
| 
       119 
     | 
    
         
            -
                   :url=>"http://www.cnn.com",
         
     | 
| 
       120 
     | 
    
         
            -
                   :profile_image_url=>
         
     | 
| 
       121 
     | 
    
         
            -
                    "http://s3.amazonaws.com/twitter_production/profile_images/67228129/icon.cnn_normal.png",
         
     | 
| 
       122 
     | 
    
         
            -
                   :in_reply_to_status_id=>"",
         
     | 
| 
       123 
     | 
    
         
            -
                   :in_reply_to_screen_name=>"",
         
     | 
| 
       124 
     | 
    
         
            -
                   :protected=>"false",
         
     | 
| 
       125 
     | 
    
         
            -
                   :in_reply_to_user_id=>"",
         
     | 
| 
       126 
     | 
    
         
            -
                   :created_at=>"Thu Dec 18 08:49:04 +0000 2008",
         
     | 
| 
       127 
     | 
    
         
            -
                   :name=>"CNN.com",
         
     | 
| 
       128 
     | 
    
         
            -
                   :user_id=>"759251",
         
     | 
| 
       129 
     | 
    
         
            -
                   :followers_count=>"14955",
         
     | 
| 
       130 
     | 
    
         
            -
                   :truncated=>"false",
         
     | 
| 
       131 
     | 
    
         
            -
                   :description=>
         
     | 
| 
       132 
     | 
    
         
            -
                    "Breaking News, U.S., World, Weather, Entertainment & Video News",
         
     | 
| 
       133 
     | 
    
         
            -
                   :text=>"Holiday health concerns may just be myths http://tinyurl.com/3zx4pd",
         
     | 
| 
       134 
     | 
    
         
            -
                   :favorited=>"false",
         
     | 
| 
       135 
     | 
    
         
            -
                   :id=>"1064580674",
         
     | 
| 
       136 
     | 
    
         
            -
                   :screen_name=>"cnn"},
         
     | 
| 
       137 
     | 
    
         
            -
                  {:location=>"",
         
     | 
| 
       138 
     | 
    
         
            -
                   :source=>"<a href=\"http://twitterfeed.com\">twitterfeed</a>",
         
     | 
| 
       139 
     | 
    
         
            -
                   :url=>"http://www.cnn.com",
         
     | 
| 
       140 
     | 
    
         
            -
                   :profile_image_url=>
         
     | 
| 
       141 
     | 
    
         
            -
                    "http://s3.amazonaws.com/twitter_production/profile_images/67228129/icon.cnn_normal.png",
         
     | 
| 
       142 
     | 
    
         
            -
                   :in_reply_to_status_id=>"",
         
     | 
| 
       143 
     | 
    
         
            -
                   :in_reply_to_screen_name=>"",
         
     | 
| 
       144 
     | 
    
         
            -
                   :protected=>"false",
         
     | 
| 
       145 
     | 
    
         
            -
                   :in_reply_to_user_id=>"",
         
     | 
| 
       146 
     | 
    
         
            -
                   :created_at=>"Thu Dec 18 07:48:08 +0000 2008",
         
     | 
| 
       147 
     | 
    
         
            -
                   :name=>"CNN.com",
         
     | 
| 
       148 
     | 
    
         
            -
                   :user_id=>"759251",
         
     | 
| 
       149 
     | 
    
         
            -
                   :followers_count=>"14954",
         
     | 
| 
       150 
     | 
    
         
            -
                   :truncated=>"false",
         
     | 
| 
       151 
     | 
    
         
            -
                   :description=>
         
     | 
| 
       152 
     | 
    
         
            -
                    "Breaking News, U.S., World, Weather, Entertainment & Video News",
         
     | 
| 
       153 
     | 
    
         
            -
                   :text=>
         
     | 
| 
       154 
     | 
    
         
            -
                    "Exxon Mobil to pay $6.1 million for air pollution http://tinyurl.com/48ohph",
         
     | 
| 
       155 
     | 
    
         
            -
                   :favorited=>"false",
         
     | 
| 
       156 
     | 
    
         
            -
                   :id=>"1064525536",
         
     | 
| 
       157 
     | 
    
         
            -
                   :screen_name=>"cnn"},
         
     | 
| 
       158 
     | 
    
         
            -
                  {:location=>"",
         
     | 
| 
       159 
     | 
    
         
            -
                   :source=>"<a href=\"http://twitterfeed.com\">twitterfeed</a>",
         
     | 
| 
       160 
     | 
    
         
            -
                   :url=>"http://www.cnn.com",
         
     | 
| 
       161 
     | 
    
         
            -
                   :profile_image_url=>
         
     | 
| 
       162 
     | 
    
         
            -
                    "http://s3.amazonaws.com/twitter_production/profile_images/67228129/icon.cnn_normal.png",
         
     | 
| 
       163 
     | 
    
         
            -
                   :in_reply_to_status_id=>"",
         
     | 
| 
       164 
     | 
    
         
            -
                   :in_reply_to_screen_name=>"",
         
     | 
| 
       165 
     | 
    
         
            -
                   :protected=>"false",
         
     | 
| 
       166 
     | 
    
         
            -
                   :in_reply_to_user_id=>"",
         
     | 
| 
       167 
     | 
    
         
            -
                   :created_at=>"Thu Dec 18 04:48:37 +0000 2008",
         
     | 
| 
       168 
     | 
    
         
            -
                   :name=>"CNN.com",
         
     | 
| 
       169 
     | 
    
         
            -
                   :user_id=>"759251",
         
     | 
| 
       170 
     | 
    
         
            -
                   :followers_count=>"14947",
         
     | 
| 
       171 
     | 
    
         
            -
                   :truncated=>"false",
         
     | 
| 
       172 
     | 
    
         
            -
                   :description=>
         
     | 
| 
       173 
     | 
    
         
            -
                    "Breaking News, U.S., World, Weather, Entertainment & Video News",
         
     | 
| 
       174 
     | 
    
         
            -
                   :text=>
         
     | 
| 
       175 
     | 
    
         
            -
                    "Rice talks successes, failures of past 8 years http://tinyurl.com/4uo83q",
         
     | 
| 
       176 
     | 
    
         
            -
                   :favorited=>"false",
         
     | 
| 
       177 
     | 
    
         
            -
                   :id=>"1064329837",
         
     | 
| 
       178 
     | 
    
         
            -
                   :screen_name=>"cnn"},
         
     | 
| 
       179 
     | 
    
         
            -
                  {:location=>"",
         
     | 
| 
       180 
     | 
    
         
            -
                   :source=>"<a href=\"http://twitterfeed.com\">twitterfeed</a>",
         
     | 
| 
       181 
     | 
    
         
            -
                   :url=>"http://www.cnn.com",
         
     | 
| 
       182 
     | 
    
         
            -
                   :profile_image_url=>
         
     | 
| 
       183 
     | 
    
         
            -
                    "http://s3.amazonaws.com/twitter_production/profile_images/67228129/icon.cnn_normal.png",
         
     | 
| 
       184 
     | 
    
         
            -
                   :in_reply_to_status_id=>"",
         
     | 
| 
       185 
     | 
    
         
            -
                   :in_reply_to_screen_name=>"",
         
     | 
| 
       186 
     | 
    
         
            -
                   :protected=>"false",
         
     | 
| 
       187 
     | 
    
         
            -
                   :in_reply_to_user_id=>"",
         
     | 
| 
       188 
     | 
    
         
            -
                   :created_at=>"Thu Dec 18 04:48:35 +0000 2008",
         
     | 
| 
       189 
     | 
    
         
            -
                   :name=>"CNN.com",
         
     | 
| 
       190 
     | 
    
         
            -
                   :user_id=>"759251",
         
     | 
| 
       191 
     | 
    
         
            -
                   :followers_count=>"14947",
         
     | 
| 
       192 
     | 
    
         
            -
                   :truncated=>"false",
         
     | 
| 
       193 
     | 
    
         
            -
                   :description=>
         
     | 
| 
       194 
     | 
    
         
            -
                    "Breaking News, U.S., World, Weather, Entertainment & Video News",
         
     | 
| 
       195 
     | 
    
         
            -
                   :text=>
         
     | 
| 
       196 
     | 
    
         
            -
                    "Credit card holders livid about 'rate-jacking' http://tinyurl.com/3jejsc",
         
     | 
| 
       197 
     | 
    
         
            -
                   :favorited=>"false",
         
     | 
| 
       198 
     | 
    
         
            -
                   :id=>"1064329783",
         
     | 
| 
       199 
     | 
    
         
            -
                   :screen_name=>"cnn"},
         
     | 
| 
       200 
     | 
    
         
            -
                  {:location=>"",
         
     | 
| 
       201 
     | 
    
         
            -
                   :source=>"<a href=\"http://twitterfeed.com\">twitterfeed</a>",
         
     | 
| 
       202 
     | 
    
         
            -
                   :url=>"http://www.cnn.com",
         
     | 
| 
       203 
     | 
    
         
            -
                   :profile_image_url=>
         
     | 
| 
       204 
     | 
    
         
            -
                    "http://s3.amazonaws.com/twitter_production/profile_images/67228129/icon.cnn_normal.png",
         
     | 
| 
       205 
     | 
    
         
            -
                   :in_reply_to_status_id=>"",
         
     | 
| 
       206 
     | 
    
         
            -
                   :in_reply_to_screen_name=>"",
         
     | 
| 
       207 
     | 
    
         
            -
                   :protected=>"false",
         
     | 
| 
       208 
     | 
    
         
            -
                   :in_reply_to_user_id=>"",
         
     | 
| 
       209 
     | 
    
         
            -
                   :created_at=>"Thu Dec 18 02:48:53 +0000 2008",
         
     | 
| 
       210 
     | 
    
         
            -
                   :name=>"CNN.com",
         
     | 
| 
       211 
     | 
    
         
            -
                   :user_id=>"759251",
         
     | 
| 
       212 
     | 
    
         
            -
                   :followers_count=>"14933",
         
     | 
| 
       213 
     | 
    
         
            -
                   :truncated=>"false",
         
     | 
| 
       214 
     | 
    
         
            -
                   :description=>
         
     | 
| 
       215 
     | 
    
         
            -
                    "Breaking News, U.S., World, Weather, Entertainment & Video News",
         
     | 
| 
       216 
     | 
    
         
            -
                   :text=>"Brown: Obama should be more open to press http://tinyurl.com/4avj8n",
         
     | 
| 
       217 
     | 
    
         
            -
                   :favorited=>"false",
         
     | 
| 
       218 
     | 
    
         
            -
                   :id=>"1064150989",
         
     | 
| 
       219 
     | 
    
         
            -
                   :screen_name=>"cnn"},
         
     | 
| 
       220 
     | 
    
         
            -
                  {:location=>"",
         
     | 
| 
       221 
     | 
    
         
            -
                   :source=>"<a href=\"http://twitterfeed.com\">twitterfeed</a>",
         
     | 
| 
       222 
     | 
    
         
            -
                   :url=>"http://www.cnn.com",
         
     | 
| 
       223 
     | 
    
         
            -
                   :profile_image_url=>
         
     | 
| 
       224 
     | 
    
         
            -
                    "http://s3.amazonaws.com/twitter_production/profile_images/67228129/icon.cnn_normal.png",
         
     | 
| 
       225 
     | 
    
         
            -
                   :in_reply_to_status_id=>"",
         
     | 
| 
       226 
     | 
    
         
            -
                   :in_reply_to_screen_name=>"",
         
     | 
| 
       227 
     | 
    
         
            -
                   :protected=>"false",
         
     | 
| 
       228 
     | 
    
         
            -
                   :in_reply_to_user_id=>"",
         
     | 
| 
       229 
     | 
    
         
            -
                   :created_at=>"Wed Dec 17 23:48:50 +0000 2008",
         
     | 
| 
       230 
     | 
    
         
            -
                   :name=>"CNN.com",
         
     | 
| 
       231 
     | 
    
         
            -
                   :user_id=>"759251",
         
     | 
| 
       232 
     | 
    
         
            -
                   :followers_count=>"14925",
         
     | 
| 
       233 
     | 
    
         
            -
                   :truncated=>"false",
         
     | 
| 
       234 
     | 
    
         
            -
                   :description=>
         
     | 
| 
       235 
     | 
    
         
            -
                    "Breaking News, U.S., World, Weather, Entertainment & Video News",
         
     | 
| 
       236 
     | 
    
         
            -
                   :text=>
         
     | 
| 
       237 
     | 
    
         
            -
                    "Walsh's legacy -- awareness of danger to kids http://tinyurl.com/495kwp",
         
     | 
| 
       238 
     | 
    
         
            -
                   :favorited=>"false",
         
     | 
| 
       239 
     | 
    
         
            -
                   :id=>"1063867194",
         
     | 
| 
       240 
     | 
    
         
            -
                   :screen_name=>"cnn"}]
         
     | 
| 
      
 36 
     | 
    
         
            +
                assert @cnn.get_statuses
         
     | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
              def test_pretty_time
         
     | 
| 
      
 40 
     | 
    
         
            +
                expected = "Tuesday, Dec 16 at 08:48 PM"
         
     | 
| 
      
 41 
     | 
    
         
            +
                actual = @cnn.pretty_time("Tue Dec 16 04:48:13 +0000 2008")
         
     | 
| 
       241 
42 
     | 
    
         
             
                assert_equal expected, actual
         
     | 
| 
       242 
43 
     | 
    
         
             
              end
         
     | 
| 
       243 
44 
     | 
    
         | 
| 
      
 45 
     | 
    
         
            +
              def test_urlize
         
     | 
| 
      
 46 
     | 
    
         
            +
                expected = "You can use <a href=\"http://www.ruby-doc.org\">http://www.ruby-doc.org</a> to learn about Ruby."
         
     | 
| 
      
 47 
     | 
    
         
            +
                actual = @cnn.urlize("You can use http://www.ruby-doc.org to learn about Ruby.")
         
     | 
| 
      
 48 
     | 
    
         
            +
                assert_equal expected, actual
         
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
       244 
51 
     | 
    
         
             
              def test_display_statuses
         
     | 
| 
       245 
     | 
    
         
            -
             
     | 
| 
       246 
     | 
    
         
            -
             
     | 
| 
      
 52 
     | 
    
         
            +
                  actual = @cnn.display_statuses
         
     | 
| 
      
 53 
     | 
    
         
            +
                  expected = "<ul>
         
     | 
| 
      
 54 
     | 
    
         
            +
              <li>
         
     | 
| 
      
 55 
     | 
    
         
            +
                <p class=\"twitter_status\">Brown: Law lets a little boy down <a href=\"http://tinyurl.com/5qxmnj\">http://tinyurl.com/5qxmnj</a></p>
         
     | 
| 
      
 56 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1062085628\" title=\"Status update on Twitter\"> on Wednesday, Dec 17 at 07:48 PM</a></span>
         
     | 
| 
      
 57 
     | 
    
         
            +
              </li>
         
     | 
| 
      
 58 
     | 
    
         
            +
              <li>
         
     | 
| 
      
 59 
     | 
    
         
            +
                <p class=\"twitter_status\">Expect cell phone logjam at inauguration <a href=\"http://tinyurl.com/5wetql\">http://tinyurl.com/5wetql</a></p>
         
     | 
| 
      
 60 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1061804619\" title=\"Status update on Twitter\"> on Wednesday, Dec 17 at 04:48 PM</a></span>
         
     | 
| 
      
 61 
     | 
    
         
            +
              </li>
         
     | 
| 
      
 62 
     | 
    
         
            +
              <li>
         
     | 
| 
      
 63 
     | 
    
         
            +
                <p class=\"twitter_status\">Reid backs Caroline Kennedy for Senate <a href=\"http://tinyurl.com/6nhsj2\">http://tinyurl.com/6nhsj2</a></p>
         
     | 
| 
      
 64 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1061708271\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 03:48 PM</a></span>
         
     | 
| 
      
 65 
     | 
    
         
            +
              </li>
         
     | 
| 
      
 66 
     | 
    
         
            +
              <li>
         
     | 
| 
      
 67 
     | 
    
         
            +
                <p class=\"twitter_status\">Diabetes found to raise cancer mortality risk <a href=\"http://tinyurl.com/6m738h\">http://tinyurl.com/6m738h</a></p>
         
     | 
| 
      
 68 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1061708121\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 03:48 PM</a></span>
         
     | 
| 
      
 69 
     | 
    
         
            +
              </li>
         
     | 
| 
       247 
70 
     | 
    
         
             
              <li>
         
     | 
| 
       248 
     | 
    
         
            -
                <p class=\"twitter_status\"> 
     | 
| 
       249 
     | 
    
         
            -
                <span><a href=\"http://twitter.com/cnn/statuses/ 
     | 
| 
      
 71 
     | 
    
         
            +
                <p class=\"twitter_status\">Detroit papers to end daily home delivery <a href=\"http://tinyurl.com/5eftgg\">http://tinyurl.com/5eftgg</a></p>
         
     | 
| 
      
 72 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1061386828\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 12:49 PM</a></span>
         
     | 
| 
       250 
73 
     | 
    
         
             
              </li>
         
     | 
| 
       251 
74 
     | 
    
         
             
              <li>
         
     | 
| 
       252 
     | 
    
         
            -
                <p class=\"twitter_status\"> 
     | 
| 
       253 
     | 
    
         
            -
                <span><a href=\"http://twitter.com/cnn/statuses/ 
     | 
| 
      
 75 
     | 
    
         
            +
                <p class=\"twitter_status\">'Treasure trove' of new species found <a href=\"http://tinyurl.com/6ey96r\">http://tinyurl.com/6ey96r</a></p>
         
     | 
| 
      
 76 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1061274894\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 11:49 AM</a></span>
         
     | 
| 
       254 
77 
     | 
    
         
             
              </li>
         
     | 
| 
       255 
78 
     | 
    
         
             
              <li>
         
     | 
| 
       256 
     | 
    
         
            -
                <p class=\"twitter_status\"> 
     | 
| 
       257 
     | 
    
         
            -
                <span><a href=\"http://twitter.com/cnn/statuses/ 
     | 
| 
      
 79 
     | 
    
         
            +
                <p class=\"twitter_status\">Bush talks bailout, Iraq, dodging shoes <a href=\"http://tinyurl.com/5we228\">http://tinyurl.com/5we228</a></p>
         
     | 
| 
      
 80 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1061274734\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 11:49 AM</a></span>
         
     | 
| 
       258 
81 
     | 
    
         
             
              </li>
         
     | 
| 
       259 
82 
     | 
    
         
             
              <li>
         
     | 
| 
       260 
     | 
    
         
            -
                <p class=\"twitter_status\"> 
     | 
| 
       261 
     | 
    
         
            -
                <span><a href=\"http://twitter.com/cnn/statuses/ 
     | 
| 
      
 83 
     | 
    
         
            +
                <p class=\"twitter_status\">Impeachment panel meets on Blagojevich <a href=\"http://tinyurl.com/5utxxv\">http://tinyurl.com/5utxxv</a></p>
         
     | 
| 
      
 84 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1061274627\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 11:49 AM</a></span>
         
     | 
| 
       262 
85 
     | 
    
         
             
              </li>
         
     | 
| 
       263 
86 
     | 
    
         
             
              <li>
         
     | 
| 
       264 
     | 
    
         
            -
                <p class=\"twitter_status\"> 
     | 
| 
       265 
     | 
    
         
            -
                <span><a href=\"http://twitter.com/cnn/statuses/ 
     | 
| 
      
 87 
     | 
    
         
            +
                <p class=\"twitter_status\">Suspect to be named in '81 Adam Walsh slaying <a href=\"http://tinyurl.com/6da9fa\">http://tinyurl.com/6da9fa</a></p>
         
     | 
| 
      
 88 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1061161605\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 10:48 AM</a></span>
         
     | 
| 
       266 
89 
     | 
    
         
             
              </li>
         
     | 
| 
       267 
90 
     | 
    
         
             
              <li>
         
     | 
| 
       268 
     | 
    
         
            -
                <p class=\"twitter_status\"> 
     | 
| 
       269 
     | 
    
         
            -
                <span><a href=\"http://twitter.com/cnn/statuses/ 
     | 
| 
      
 91 
     | 
    
         
            +
                <p class=\"twitter_status\">Iraqi doctor guilty of planning UK terror attacks <a href=\"http://tinyurl.com/5cvjk8\">http://tinyurl.com/5cvjk8</a></p>
         
     | 
| 
      
 92 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1060699337\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 06:49 AM</a></span>
         
     | 
| 
       270 
93 
     | 
    
         
             
              </li>
         
     | 
| 
       271 
94 
     | 
    
         
             
              <li>
         
     | 
| 
       272 
     | 
    
         
            -
                <p class=\"twitter_status\"> 
     | 
| 
       273 
     | 
    
         
            -
                <span><a href=\"http://twitter.com/cnn/statuses/ 
     | 
| 
      
 95 
     | 
    
         
            +
                <p class=\"twitter_status\">Obama set to name more Cabinet picks <a href=\"http://tinyurl.com/5c2do7\">http://tinyurl.com/5c2do7</a></p>
         
     | 
| 
      
 96 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1060699134\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 06:49 AM</a></span>
         
     | 
| 
       274 
97 
     | 
    
         
             
              </li>
         
     | 
| 
       275 
98 
     | 
    
         
             
              <li>
         
     | 
| 
       276 
     | 
    
         
            -
                <p class=\"twitter_status\"> 
     | 
| 
       277 
     | 
    
         
            -
                <span><a href=\"http://twitter.com/cnn/statuses/ 
     | 
| 
      
 99 
     | 
    
         
            +
                <p class=\"twitter_status\">Slain student called 911, but no one came in time <a href=\"http://tinyurl.com/5om6pd\">http://tinyurl.com/5om6pd</a></p>
         
     | 
| 
      
 100 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1060698991\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 06:49 AM</a></span>
         
     | 
| 
       278 
101 
     | 
    
         
             
              </li>
         
     | 
| 
       279 
102 
     | 
    
         
             
              <li>
         
     | 
| 
       280 
     | 
    
         
            -
                <p class=\"twitter_status\"> 
     | 
| 
       281 
     | 
    
         
            -
                <span><a href=\"http://twitter.com/cnn/statuses/ 
     | 
| 
      
 103 
     | 
    
         
            +
                <p class=\"twitter_status\">Report: Dynamite defused in Paris store <a href=\"http://tinyurl.com/5md5oq\">http://tinyurl.com/5md5oq</a></p>
         
     | 
| 
      
 104 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1060514802\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 04:48 AM</a></span>
         
     | 
| 
       282 
105 
     | 
    
         
             
              </li>
         
     | 
| 
       283 
106 
     | 
    
         
             
              <li>
         
     | 
| 
       284 
     | 
    
         
            -
                <p class=\"twitter_status\"> 
     | 
| 
       285 
     | 
    
         
            -
                <span><a href=\"http://twitter.com/cnn/statuses/ 
     | 
| 
      
 107 
     | 
    
         
            +
                <p class=\"twitter_status\">Obamas should adopt shelter pup, poll says <a href=\"http://tinyurl.com/6j5tdn\">http://tinyurl.com/6j5tdn</a></p>
         
     | 
| 
      
 108 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1060514656\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 04:48 AM</a></span>
         
     | 
| 
      
 109 
     | 
    
         
            +
              </li>
         
     | 
| 
      
 110 
     | 
    
         
            +
              <li>
         
     | 
| 
      
 111 
     | 
    
         
            +
                <p class=\"twitter_status\">Commentary: Illinois voters, it's your fault <a href=\"http://tinyurl.com/5hw9bl\">http://tinyurl.com/5hw9bl</a></p>
         
     | 
| 
      
 112 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1060514475\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 04:48 AM</a></span>
         
     | 
| 
      
 113 
     | 
    
         
            +
              </li>
         
     | 
| 
      
 114 
     | 
    
         
            +
              <li>
         
     | 
| 
      
 115 
     | 
    
         
            +
                <p class=\"twitter_status\">Brother: Shoe thrower sought to humiliate Bush <a href=\"http://tinyurl.com/62gpzs\">http://tinyurl.com/62gpzs</a></p>
         
     | 
| 
      
 116 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1060445840\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 03:48 AM</a></span>
         
     | 
| 
      
 117 
     | 
    
         
            +
              </li>
         
     | 
| 
      
 118 
     | 
    
         
            +
              <li>
         
     | 
| 
      
 119 
     | 
    
         
            +
                <p class=\"twitter_status\">Arctic blast grips much of nation <a href=\"http://tinyurl.com/5dhdye\">http://tinyurl.com/5dhdye</a></p>
         
     | 
| 
      
 120 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1060281163\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 12:49 AM</a></span>
         
     | 
| 
      
 121 
     | 
    
         
            +
              </li>
         
     | 
| 
      
 122 
     | 
    
         
            +
              <li>
         
     | 
| 
      
 123 
     | 
    
         
            +
                <p class=\"twitter_status\">Brother: Shoe thrower wanted to humiliate Bush <a href=\"http://tinyurl.com/6agpas\">http://tinyurl.com/6agpas</a></p>
         
     | 
| 
      
 124 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1060028576\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 08:48 PM</a></span>
         
     | 
| 
      
 125 
     | 
    
         
            +
              </li>
         
     | 
| 
      
 126 
     | 
    
         
            +
              <li>
         
     | 
| 
      
 127 
     | 
    
         
            +
                <p class=\"twitter_status\">Marines face toy deficit as Christmas nears <a href=\"http://tinyurl.com/62tehr\">http://tinyurl.com/62tehr</a></p>
         
     | 
| 
      
 128 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1060028427\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 08:48 PM</a></span>
         
     | 
| 
      
 129 
     | 
    
         
            +
              </li>
         
     | 
| 
      
 130 
     | 
    
         
            +
              <li>
         
     | 
| 
      
 131 
     | 
    
         
            +
                <p class=\"twitter_status\">Brown: Who's to blame when a con man hits? <a href=\"http://tinyurl.com/5u7aoj\">http://tinyurl.com/5u7aoj</a></p>
         
     | 
| 
      
 132 
     | 
    
         
            +
                <span><a href=\"http://twitter.com/cnn/statuses/1059848165\" title=\"Status update on Twitter\"> on Tuesday, Dec 16 at 06:48 PM</a></span>
         
     | 
| 
       286 
133 
     | 
    
         
             
              </li>
         
     | 
| 
       287 
134 
     | 
    
         
             
            </ul>
         
     | 
| 
       288 
135 
     | 
    
         
             
            "
         
     | 
| 
       289 
     | 
    
         
            -
             
     | 
| 
       290 
     | 
    
         
            -
             
     | 
| 
       291 
     | 
    
         
            -
             
     | 
| 
      
 136 
     | 
    
         
            +
                  assert_equal expected, actual
         
     | 
| 
      
 137 
     | 
    
         
            +
                end
         
     | 
| 
      
 138 
     | 
    
         
            +
                
         
     | 
| 
      
 139 
     | 
    
         
            +
                def test_plain_statuses
         
     | 
| 
      
 140 
     | 
    
         
            +
                  actual = @plain_cnn.display_statuses
         
     | 
| 
      
 141 
     | 
    
         
            +
                  expected = "* Brown: Law lets a little boy down http://tinyurl.com/5qxmnj (on Wednesday, Dec 17 at 07:48 PM) [http://twitter.com/cnn/statuses/1062085628]
         
     | 
| 
      
 142 
     | 
    
         
            +
            * Expect cell phone logjam at inauguration http://tinyurl.com/5wetql (on Wednesday, Dec 17 at 04:48 PM) [http://twitter.com/cnn/statuses/1061804619]
         
     | 
| 
      
 143 
     | 
    
         
            +
            * Reid backs Caroline Kennedy for Senate http://tinyurl.com/6nhsj2 (on Tuesday, Dec 16 at 03:48 PM) [http://twitter.com/cnn/statuses/1061708271]
         
     | 
| 
      
 144 
     | 
    
         
            +
            * Diabetes found to raise cancer mortality risk http://tinyurl.com/6m738h (on Tuesday, Dec 16 at 03:48 PM) [http://twitter.com/cnn/statuses/1061708121]
         
     | 
| 
      
 145 
     | 
    
         
            +
            * Detroit papers to end daily home delivery http://tinyurl.com/5eftgg (on Tuesday, Dec 16 at 12:49 PM) [http://twitter.com/cnn/statuses/1061386828]
         
     | 
| 
      
 146 
     | 
    
         
            +
            * 'Treasure trove' of new species found http://tinyurl.com/6ey96r (on Tuesday, Dec 16 at 11:49 AM) [http://twitter.com/cnn/statuses/1061274894]
         
     | 
| 
      
 147 
     | 
    
         
            +
            * Bush talks bailout, Iraq, dodging shoes http://tinyurl.com/5we228 (on Tuesday, Dec 16 at 11:49 AM) [http://twitter.com/cnn/statuses/1061274734]
         
     | 
| 
      
 148 
     | 
    
         
            +
            * Impeachment panel meets on Blagojevich http://tinyurl.com/5utxxv (on Tuesday, Dec 16 at 11:49 AM) [http://twitter.com/cnn/statuses/1061274627]
         
     | 
| 
      
 149 
     | 
    
         
            +
            * Suspect to be named in '81 Adam Walsh slaying http://tinyurl.com/6da9fa (on Tuesday, Dec 16 at 10:48 AM) [http://twitter.com/cnn/statuses/1061161605]
         
     | 
| 
      
 150 
     | 
    
         
            +
            * Iraqi doctor guilty of planning UK terror attacks http://tinyurl.com/5cvjk8 (on Tuesday, Dec 16 at 06:49 AM) [http://twitter.com/cnn/statuses/1060699337]
         
     | 
| 
      
 151 
     | 
    
         
            +
            * Obama set to name more Cabinet picks http://tinyurl.com/5c2do7 (on Tuesday, Dec 16 at 06:49 AM) [http://twitter.com/cnn/statuses/1060699134]
         
     | 
| 
      
 152 
     | 
    
         
            +
            * Slain student called 911, but no one came in time http://tinyurl.com/5om6pd (on Tuesday, Dec 16 at 06:49 AM) [http://twitter.com/cnn/statuses/1060698991]
         
     | 
| 
      
 153 
     | 
    
         
            +
            * Report: Dynamite defused in Paris store http://tinyurl.com/5md5oq (on Tuesday, Dec 16 at 04:48 AM) [http://twitter.com/cnn/statuses/1060514802]
         
     | 
| 
      
 154 
     | 
    
         
            +
            * Obamas should adopt shelter pup, poll says http://tinyurl.com/6j5tdn (on Tuesday, Dec 16 at 04:48 AM) [http://twitter.com/cnn/statuses/1060514656]
         
     | 
| 
      
 155 
     | 
    
         
            +
            * Commentary: Illinois voters, it's your fault http://tinyurl.com/5hw9bl (on Tuesday, Dec 16 at 04:48 AM) [http://twitter.com/cnn/statuses/1060514475]
         
     | 
| 
      
 156 
     | 
    
         
            +
            * Brother: Shoe thrower sought to humiliate Bush http://tinyurl.com/62gpzs (on Tuesday, Dec 16 at 03:48 AM) [http://twitter.com/cnn/statuses/1060445840]
         
     | 
| 
      
 157 
     | 
    
         
            +
            * Arctic blast grips much of nation http://tinyurl.com/5dhdye (on Tuesday, Dec 16 at 12:49 AM) [http://twitter.com/cnn/statuses/1060281163]
         
     | 
| 
      
 158 
     | 
    
         
            +
            * Brother: Shoe thrower wanted to humiliate Bush http://tinyurl.com/6agpas (on Tuesday, Dec 16 at 08:48 PM) [http://twitter.com/cnn/statuses/1060028576]
         
     | 
| 
      
 159 
     | 
    
         
            +
            * Marines face toy deficit as Christmas nears http://tinyurl.com/62tehr (on Tuesday, Dec 16 at 08:48 PM) [http://twitter.com/cnn/statuses/1060028427]
         
     | 
| 
      
 160 
     | 
    
         
            +
            * Brown: Who's to blame when a con man hits? http://tinyurl.com/5u7aoj (on Tuesday, Dec 16 at 06:48 PM) [http://twitter.com/cnn/statuses/1059848165]
         
     | 
| 
      
 161 
     | 
    
         
            +
            "
         
     | 
| 
      
 162 
     | 
    
         
            +
                  assert_equal expected, actual
         
     | 
| 
      
 163 
     | 
    
         
            +
                end
         
     | 
| 
      
 164 
     | 
    
         
            +
                
         
     | 
| 
       292 
165 
     | 
    
         
             
            end
         
     | 
    
        data/todo.txt
    CHANGED
    
    | 
         @@ -2,22 +2,9 @@ FEATHERDUST: A Twitter gem. 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            TODO:
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
            Write Tests that fail!
         
     | 
| 
       6 
     | 
    
         
            -
            Make the tests pass!
         
     | 
| 
       7 
     | 
    
         
            -
            (Ok ... enough of being snarky.)
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
            XML Parser
         
     | 
| 
       10 
     | 
    
         
            -
              - take in a username
         
     | 
| 
       11 
     | 
    
         
            -
            base output option
         
     | 
| 
       12 
     | 
    
         
            -
              - limit output based on optional number of status updates (default is 10)
         
     | 
| 
       13 
     | 
    
         
            -
              - HTML Unordered List
         
     | 
| 
       14 
     | 
    
         
            -
            regex to detect/add links
         
     | 
| 
       15 
     | 
    
         
            -
            take in options block
         
     | 
| 
       16 
5 
     | 
    
         
             
            advanced output methods
         
     | 
| 
       17 
6 
     | 
    
         
             
              - div vs list (esp. if requested updates number is 1)
         
     | 
| 
       18 
7 
     | 
    
         
             
              - DL
         
     | 
| 
       19 
8 
     | 
    
         
             
              - others?
         
     | 
| 
       20 
     | 
    
         
            -
            headings
         
     | 
| 
       21 
     | 
    
         
            -
            default styles?
         
     | 
| 
       22 
9 
     | 
    
         
             
            examples
         
     | 
| 
       23 
10 
     | 
    
         
             
            documentation
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: featherdust
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.0.3
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Michael Tierney
         
     | 
| 
         @@ -9,7 +9,7 @@ autorequire: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            date: 2008-12- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2008-12-19 00:00:00 -08:00
         
     | 
| 
       13 
13 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       15 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -50,10 +50,8 @@ files: 
     | 
|
| 
       50 
50 
     | 
    
         
             
            - README.txt
         
     | 
| 
       51 
51 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       52 
52 
     | 
    
         
             
            - lib/featherdust.rb
         
     | 
| 
       53 
     | 
    
         
            -
            - lib/particle.rb
         
     | 
| 
       54 
53 
     | 
    
         
             
            - test/cnn.xml
         
     | 
| 
       55 
54 
     | 
    
         
             
            - test/test_featherdust.rb
         
     | 
| 
       56 
     | 
    
         
            -
            - test/test_particle.rb
         
     | 
| 
       57 
55 
     | 
    
         
             
            - todo.txt
         
     | 
| 
       58 
56 
     | 
    
         
             
            has_rdoc: true
         
     | 
| 
       59 
57 
     | 
    
         
             
            homepage: http://rubyforge.org/projects/uwruby
         
     | 
| 
         @@ -84,4 +82,3 @@ specification_version: 2 
     | 
|
| 
       84 
82 
     | 
    
         
             
            summary: Featherdust is a simple Twitter gem that grabs and parses data via the Twitter API
         
     | 
| 
       85 
83 
     | 
    
         
             
            test_files: 
         
     | 
| 
       86 
84 
     | 
    
         
             
            - test/test_featherdust.rb
         
     | 
| 
       87 
     | 
    
         
            -
            - test/test_particle.rb
         
     | 
    
        data/lib/particle.rb
    DELETED
    
    | 
         @@ -1,16 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/usr/bin/env ruby -w
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            class Particle
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
              ATTRIBUTES = [:created_at, :id, :text, :source, :truncated, :in_reply_to_status_id, :in_reply_to_user_id, :in_reply_to_screen_name, :favorited ]
         
     | 
| 
       6 
     | 
    
         
            -
              
         
     | 
| 
       7 
     | 
    
         
            -
              ATTRIBUTES.each do |a|
         
     | 
| 
       8 
     | 
    
         
            -
                attr_accessor a
         
     | 
| 
       9 
     | 
    
         
            -
              end
         
     | 
| 
       10 
     | 
    
         
            -
              
         
     | 
| 
       11 
     | 
    
         
            -
              def initialize(song_data)
         
     | 
| 
       12 
     | 
    
         
            -
                ATTRIBUTES.each do |attr|
         
     | 
| 
       13 
     | 
    
         
            -
                  self.send("#{attr}=", (song_data[attr] || ""))
         
     | 
| 
       14 
     | 
    
         
            -
                end
         
     | 
| 
       15 
     | 
    
         
            -
              end
         
     | 
| 
       16 
     | 
    
         
            -
            end
         
     | 
    
        data/test/test_particle.rb
    DELETED
    
    | 
         
            File without changes
         
     |