Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
#!/usr/bin/env ruby require 'rubygems' require 'twitter_search' require 'dm-core' unless ARGV.length == 1 $stderr.puts "Usage: #{$0} searchterm" exit 1 end search_term = ARGV.first DataMapper.setup( :default, "sqlite3://#{Dir.pwd}/#{search_term}.db" ) class Tweet include DataMapper::Resource property :from_user, String property :from_user_id, String property :text, String property :created_at, DateTime property :profile_image_url, String property :id, String, :key => true end DataMapper.auto_migrate! def with_tweets_matching(hashtag) client = TwitterSearch::Client.new 'search_sucker' page = 1 begin tweets = client.query :q => hashtag, :rpp => 100, :page => page tweets.each do |tweet| yield tweet end page = page + 1 end while tweets.size > 0 end with_tweets_matching(search_term) do |t| e = Tweet.new e.attributes = { :from_user => t.from_user, :from_user_id => t.from_user_id, :text => t.text, :created_at => t.created_at, :profile_image_url => t.profile_image_url, :id => t.id } e.save end
This paste will be private.
From the Design Piracy series on my blog: