tw 0.2.0 → 0.2.1

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 CHANGED
@@ -1,3 +1,7 @@
1
+ === 0.2.1 2012-10-05
2
+
3
+ * auto re-connect stream
4
+
1
5
  === 0.2.0 2012-10-04
2
6
 
3
7
  * user stream : --stream
data/lib/tw/app/cmds.rb CHANGED
@@ -82,8 +82,20 @@ module Tw::App
82
82
 
83
83
  cmd :stream do |v|
84
84
  stream = Tw::Client::Stream.new @parser.has_param?(:user) ? @parser[:user] : nil
85
- stream.user_stream do |s|
86
- Render.display s
85
+ loop do
86
+ puts "-- waiting stream.."
87
+ begin
88
+ stream.user_stream do |s|
89
+ Render.display s
90
+ end
91
+ rescue Timeout::Error, SocketError => e
92
+ STDERR.puts '-- stream closed'
93
+ sleep 5
94
+ next
95
+ rescue => e
96
+ STDERR.puts e
97
+ on_error
98
+ end
87
99
  end
88
100
  on_exit
89
101
  end
@@ -93,9 +105,22 @@ module Tw::App
93
105
  STDERR.puts "e.g. tw --stream:filter=ruby,java"
94
106
  on_error
95
107
  else
108
+ track_words = v.split(/\s*,\s*/)
96
109
  stream = Tw::Client::Stream.new @parser.has_param?(:user) ? @parser[:user] : nil
97
- stream.filter v do |s|
98
- Render.display s
110
+ loop do
111
+ puts "-- waiting stream.. track \"#{track_words.join(',')}\""
112
+ begin
113
+ stream.filter track_words do |s|
114
+ Render.display s
115
+ end
116
+ rescue Timeout::Error, SocketError => e
117
+ STDERR.puts '-- stream closed'
118
+ sleep 5
119
+ next
120
+ rescue => e
121
+ STDERR.puts e
122
+ on_error
123
+ end
99
124
  end
100
125
  on_exit
101
126
  end
@@ -10,7 +10,6 @@ module Tw
10
10
  config.oauth_token_secret = user['access_secret']
11
11
  end
12
12
 
13
- puts '-- waiting stream..'
14
13
  @client = UserStream::Client.new
15
14
  end
16
15
 
@@ -25,9 +24,7 @@ module Tw
25
24
 
26
25
  def filter(*track_words, &block)
27
26
  raise ArgumentError, 'block not given' unless block_given?
28
- track_words = track_words.join(',')
29
- puts "track #{track_words}"
30
- @client.filter :track => track_words do |m|
27
+ @client.filter :track => track_words.join(',') do |m|
31
28
  if data = tweet?(m)
32
29
  yield data
33
30
  end
data/lib/tw.rb CHANGED
@@ -16,7 +16,7 @@ require 'tw/client/stream'
16
16
  require 'tw/client/error'
17
17
 
18
18
  module Tw
19
- VERSION = '0.2.0'
19
+ VERSION = '0.2.1'
20
20
  class Conf
21
21
  REQUIRE_VERSION = '0.1.0'
22
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tw
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -214,7 +214,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
214
214
  version: '0'
215
215
  segments:
216
216
  - 0
217
- hash: 2435437866156816289
217
+ hash: 1461823182617870021
218
218
  required_rubygems_version: !ruby/object:Gem::Requirement
219
219
  none: false
220
220
  requirements: