streambot 0.2.1 → 0.2.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.
Files changed (4) hide show
  1. data/README.rdoc +7 -4
  2. data/lib/retweet.rb +2 -0
  3. data/lib/streambot.rb +9 -3
  4. metadata +3 -3
data/README.rdoc CHANGED
@@ -1,22 +1,25 @@
1
1
  = streambot
2
2
 
3
- streambot is using (http://github.com/intridea/tweetstream) for simple access to twitter streaming api
4
- streambot is still far away from production usage
3
+ streambot is using tweetstream (http://github.com/intridea/tweetstream) for simple access to twitter streaming api
5
4
 
6
5
  == Installation
7
6
 
7
+ the streambot gem is available on rubygems.org - http://rubygems.org/gems/streambot
8
+
8
9
  gem install streambot
9
10
 
10
11
  == Usage
11
12
 
12
13
  require 'streambot'
13
14
 
14
- bot = StreamBot.new({:username=>'username',:password=>'password'},'apple','ipad','iphone os 4','steve jobs')
15
+ @auth = {:username=>'username',:password=>'password'}
16
+ @blacklist = ['mac_rt','apple_rt']
17
+ bot = StreamBot.new(@auth, @blacklist, 'apple','ipad','iphone os 4','steve jobs')
15
18
  bot.start
16
19
 
17
20
  == Todo
18
21
 
19
- * oauth authentication
22
+ All todos are listed in issue-tracker and labeled with todo (http://github.com/gr4y/streambot/issues/labels/todo)
20
23
 
21
24
  == Note on Patches/Pull Requests
22
25
 
data/lib/retweet.rb CHANGED
@@ -3,11 +3,13 @@ require 'open-uri'
3
3
 
4
4
  class Retweet
5
5
 
6
+ # intitialize method aka constructor
6
7
  def initialize(auth)
7
8
  return if auth.nil?
8
9
  @auth = auth
9
10
  end
10
11
 
12
+ # retweets the status with given id
11
13
  def retweet(id)
12
14
  url = URI.parse("http://api.twitter.com/1/statuses/retweet/#{id}.json")
13
15
  req = Net::HTTP::Post.new(url.path)
data/lib/streambot.rb CHANGED
@@ -4,19 +4,25 @@ require 'retweet'
4
4
 
5
5
  class StreamBot
6
6
 
7
- def initialize(auth, *keywords)
7
+ # initialize method aka constructor
8
+ def initialize(auth, blacklist=nil, *keywords)
8
9
  @stream = TweetStream::Client.new(auth[:username],auth[:password])
9
10
  @retweet = Retweet.new(auth)
10
11
  @keywords=keywords.join(',')
12
+ @blacklist=blacklist if !blacklist.nil?
11
13
  end
12
14
 
15
+ # starts the bot
13
16
  def start
14
17
  @stream.track(@keywords) do |status|
15
- puts "#{status.text} - #{status.id}"
16
- @retweet.retweet(status.id)
18
+ if !@blacklist.include?(status.user)
19
+ #puts "#{status.text} - #{status.id}"
20
+ @retweet.retweet(status.id)
21
+ end
17
22
  end
18
23
  end
19
24
 
25
+ # stop bot
20
26
  def stop
21
27
  @stream.stop
22
28
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 1
9
- version: 0.2.1
8
+ - 2
9
+ version: 0.2.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Sascha Wessel
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-09 00:00:00 +02:00
17
+ date: 2010-04-13 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency