twit_sucker 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/twit_sucker.rb +45 -0
  2. metadata +46 -0
@@ -0,0 +1,45 @@
1
+ require 'rubygems'
2
+ require 'twitter/json_stream'
3
+ require 'json'
4
+
5
+
6
+ class TwitSucker
7
+ def self.run(path, *magic_words)
8
+
9
+ if !Dir.exists?(path)
10
+ Dir.mkdir(path)
11
+ end
12
+ Dir.chdir(path)
13
+
14
+ EventMachine::run {
15
+
16
+ stream = Twitter::JSONStream.connect(
17
+ :path => '/1/statuses/filter.json',
18
+ :auth => 'SFilimonova:QA3s4NLT',
19
+ :method => 'POST',
20
+ :content => 'track=' + magic_words.join(',')
21
+ )
22
+ i = 100
23
+ stream.each_item do |item|
24
+ file = File.open(Time.now.to_s+i.to_s, 'w')
25
+ file << JSON.parse(item)['text']
26
+ puts JSON.parse(item)['text']
27
+ file.close
28
+
29
+ if i<999
30
+ i+=1
31
+ else
32
+ i = 100
33
+ end
34
+ end
35
+
36
+ trap('TERM') {
37
+ stream.stop
38
+ EventMachine.stop if EventMachine.reactor_running?
39
+ }
40
+ }
41
+
42
+
43
+ end
44
+ end
45
+
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: twit_sucker
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Svetlana Filimonova
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-01-25 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: BusinssMinds demo component for retrievering twits using twitter stream
15
+ API and twitter-stream gem.
16
+ email: sfilimonova@me.com
17
+ executables: []
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - lib/twit_sucker.rb
22
+ homepage: http://rubygems.org/gems/twit_sucker
23
+ licenses: []
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 1.8.24
43
+ signing_key:
44
+ specification_version: 3
45
+ summary: BusinessMinds demo component. Twits retriever
46
+ test_files: []