tw 0.5.1 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.txt +4 -0
- data/lib/tw/app/cmds.rb +16 -10
- data/lib/tw/app/main.rb +31 -28
- data/lib/tw/version.rb +1 -1
- data/tw.gemspec +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e443e2de4df2afab8a2a2476bb6aaf21dc130bfe
|
4
|
+
data.tar.gz: 234c968e2d9fc6904554391df197d6927c09b6a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46614a7c3a556c76d71bfc5abfa9441c14ab96368489b1c36af0dfc7186a4962b3312766950ed3d926cf23932543c4480c6bb70798fcd02945a0e4385b4feecd
|
7
|
+
data.tar.gz: 672c8332ba1406d325f8c4c985f9465646ca061a0a01ae90b18d2f28ff07079f61a52f80a4b999c82fc7f43e5330054e4ce80c7582a5be260eb5498917617ae4
|
data/History.txt
CHANGED
data/lib/tw/app/cmds.rb
CHANGED
@@ -53,7 +53,7 @@ module Tw::App
|
|
53
53
|
|
54
54
|
cmd 'dm:to' do |to, opts|
|
55
55
|
unless opts[:pipe]
|
56
|
-
message =
|
56
|
+
message = opts.argv.join(' ')
|
57
57
|
len = message.char_length_with_t_co
|
58
58
|
if len > 140
|
59
59
|
STDERR.puts "message too long (#{len} chars)"
|
@@ -64,8 +64,10 @@ module Tw::App
|
|
64
64
|
else
|
65
65
|
puts "DM to @#{to}"
|
66
66
|
puts "\"#{message}\"? (#{len} chars)"
|
67
|
-
|
68
|
-
|
67
|
+
unless opts.has_option? :yes
|
68
|
+
puts '[Y/n]'
|
69
|
+
on_exit if STDIN.gets.strip =~ /^n/i
|
70
|
+
end
|
69
71
|
auth
|
70
72
|
client.direct_message_create to, message
|
71
73
|
end
|
@@ -79,8 +81,10 @@ module Tw::App
|
|
79
81
|
auth
|
80
82
|
client.show_status id
|
81
83
|
puts 'Fav this?'
|
82
|
-
|
83
|
-
|
84
|
+
unless opts.has_option? :yes
|
85
|
+
puts '[Y/n]'
|
86
|
+
on_exit if STDIN.gets.strip =~ /^n/i
|
87
|
+
end
|
84
88
|
puts "success!" if client.favorite id
|
85
89
|
end
|
86
90
|
on_exit
|
@@ -92,8 +96,10 @@ module Tw::App
|
|
92
96
|
auth
|
93
97
|
client.show_status id
|
94
98
|
puts 'RT this?'
|
95
|
-
|
96
|
-
|
99
|
+
unless opts.has_option? :yes
|
100
|
+
puts '[Y/n]'
|
101
|
+
on_exit if STDIN.gets.strip =~ /^n/i
|
102
|
+
end
|
97
103
|
puts "success!" if client.retweet id
|
98
104
|
end
|
99
105
|
on_exit
|
@@ -109,7 +115,7 @@ module Tw::App
|
|
109
115
|
client.direct_message_create to, message
|
110
116
|
else
|
111
117
|
tweet_opts = {}
|
112
|
-
tweet_opts[:in_reply_to_status_id] =
|
118
|
+
tweet_opts[:in_reply_to_status_id] = opts[:status_id] if opts.has_param? :status_id
|
113
119
|
client.tweet message, tweet_opts
|
114
120
|
end
|
115
121
|
rescue => e
|
@@ -133,7 +139,7 @@ module Tw::App
|
|
133
139
|
end
|
134
140
|
|
135
141
|
cmd :stream do |v, opts|
|
136
|
-
stream = Tw::Client::Stream.new
|
142
|
+
stream = Tw::Client::Stream.new opts.has_param?(:user) ? opts[:user] : nil
|
137
143
|
Render.puts "-- waiting stream.."
|
138
144
|
loop do
|
139
145
|
begin
|
@@ -157,7 +163,7 @@ module Tw::App
|
|
157
163
|
on_error
|
158
164
|
else
|
159
165
|
track_words = v.split(/\s*,\s*/)
|
160
|
-
stream = Tw::Client::Stream.new
|
166
|
+
stream = Tw::Client::Stream.new opts.has_param?(:user) ? opts[:user] : nil
|
161
167
|
Render.puts "-- waiting stream.. track \"#{track_words.join(',')}\""
|
162
168
|
loop do
|
163
169
|
begin
|
data/lib/tw/app/main.rb
CHANGED
@@ -41,7 +41,7 @@ module Tw::App
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def run(argv)
|
44
|
-
@
|
44
|
+
@args = ArgsParser.parse argv, :style => :equal do
|
45
45
|
arg :user, 'user account', :alias => :u
|
46
46
|
arg 'user:add', 'add user'
|
47
47
|
arg 'user:list', 'show user list'
|
@@ -58,6 +58,7 @@ module Tw::App
|
|
58
58
|
arg :pipe, 'pipe tweet'
|
59
59
|
arg :format, 'output format', :default => 'text'
|
60
60
|
arg :silent, 'silent mode'
|
61
|
+
arg :yes, 'do not show dialogue'
|
61
62
|
arg :conf, 'config file', :default => Tw::Conf.conf_file
|
62
63
|
arg :version, 'show version', :alias => :v
|
63
64
|
arg :help, 'show help', :alias => :h
|
@@ -79,16 +80,16 @@ module Tw::App
|
|
79
80
|
end
|
80
81
|
end
|
81
82
|
|
82
|
-
if @
|
83
|
+
if @args.has_option? :help
|
83
84
|
STDERR.puts "Tw - Twitter client on Ruby v#{Tw::VERSION}"
|
84
85
|
STDERR.puts " http://shokai.github.io/tw"
|
85
86
|
STDERR.puts
|
86
|
-
STDERR.puts @
|
87
|
+
STDERR.puts @args.help
|
87
88
|
STDERR.puts
|
88
89
|
STDERR.puts "e.g."
|
89
90
|
STDERR.puts "tweet tw hello world"
|
90
91
|
STDERR.puts " echo 'hello' | tw --pipe"
|
91
|
-
STDERR.puts " tw 'yummy!!' --file=food.jpg"
|
92
|
+
STDERR.puts " tw 'yummy!!' --file=food.jpg --yes"
|
92
93
|
STDERR.puts "read tw @username"
|
93
94
|
STDERR.puts " tw @username @user2 @user2/listname"
|
94
95
|
STDERR.puts " tw --search=ruby"
|
@@ -105,57 +106,59 @@ module Tw::App
|
|
105
106
|
on_exit
|
106
107
|
end
|
107
108
|
|
108
|
-
Render.silent = (@
|
109
|
-
Render.show_status_id = @
|
110
|
-
Tw::Conf.conf_file = @
|
109
|
+
Render.silent = (@args.has_option? :silent or @args.has_param? :format)
|
110
|
+
Render.show_status_id = @args[:status_id]
|
111
|
+
Tw::Conf.conf_file = @args[:conf]
|
111
112
|
|
112
113
|
regist_cmds
|
113
114
|
|
114
115
|
cmds.each do |name, cmd|
|
115
|
-
next unless @
|
116
|
-
cmd.call @
|
116
|
+
next unless @args[name]
|
117
|
+
cmd.call @args[name], @args
|
117
118
|
end
|
118
119
|
|
119
120
|
auth
|
120
|
-
if @
|
121
|
-
if @
|
122
|
-
client.show_status @
|
121
|
+
if @args.argv.size < 1
|
122
|
+
if @args.has_param? :status_id
|
123
|
+
client.show_status @args[:status_id]
|
123
124
|
else
|
124
|
-
Render.display client.mentions, @
|
125
|
+
Render.display client.mentions, @args[:format]
|
125
126
|
end
|
126
|
-
elsif all_requests?(@
|
127
|
-
Render.display Parallel.map(@
|
127
|
+
elsif all_requests?(@args.argv)
|
128
|
+
Render.display Parallel.map(@args.argv, :in_threads => @args.argv.size){|arg|
|
128
129
|
if user = username?(arg)
|
129
130
|
res = client.user_timeline user
|
130
131
|
elsif (user, list = listname?(arg)) != false
|
131
132
|
res = client.list_timeline(user, list)
|
132
133
|
end
|
133
134
|
res
|
134
|
-
}, @
|
135
|
+
}, @args[:format]
|
135
136
|
else
|
136
|
-
message = @
|
137
|
+
message = @args.argv.join(' ')
|
137
138
|
tweet_opts = {}
|
138
139
|
if (len = message.char_length_with_t_co) > 140
|
139
140
|
STDERR.puts "tweet too long (#{len} chars)"
|
140
141
|
on_error
|
141
142
|
else
|
142
|
-
if @
|
143
|
-
client.show_status @
|
143
|
+
if @args.has_param? :status_id
|
144
|
+
client.show_status @args[:status_id]
|
144
145
|
puts "--"
|
145
146
|
puts "reply \"#{message}\"? (#{len} chars)"
|
146
|
-
tweet_opts[:in_reply_to_status_id] = @
|
147
|
+
tweet_opts[:in_reply_to_status_id] = @args[:status_id]
|
147
148
|
else
|
148
149
|
puts "tweet \"#{message}\"? (#{len} chars)"
|
149
|
-
if @
|
150
|
-
puts "upload \"#{@
|
150
|
+
if @args.has_param? :file
|
151
|
+
puts "upload \"#{@args[:file]}\"? (#{File.size @args[:file]} bytes)"
|
151
152
|
end
|
152
153
|
end
|
153
|
-
|
154
|
-
|
154
|
+
unless @args.has_option? :yes
|
155
|
+
puts '[Y/n]'
|
156
|
+
on_exit if STDIN.gets.strip =~ /^n/i
|
157
|
+
end
|
155
158
|
end
|
156
159
|
begin
|
157
|
-
if @
|
158
|
-
client.tweet_with_file message, File.open(@
|
160
|
+
if @args.has_param? :file
|
161
|
+
client.tweet_with_file message, File.open(@args[:file]), tweet_opts
|
159
162
|
else
|
160
163
|
client.tweet message, tweet_opts
|
161
164
|
end
|
@@ -167,8 +170,8 @@ module Tw::App
|
|
167
170
|
|
168
171
|
private
|
169
172
|
def auth
|
170
|
-
return unless @
|
171
|
-
client.auth @
|
173
|
+
return unless @args
|
174
|
+
client.auth @args.has_param?(:user) ? @args[:user] : nil
|
172
175
|
end
|
173
176
|
|
174
177
|
end
|
data/lib/tw/version.rb
CHANGED
data/tw.gemspec
CHANGED
@@ -21,8 +21,8 @@ Gem::Specification.new do |gem|
|
|
21
21
|
gem.add_dependency 'userstream', '>= 1.2.0'
|
22
22
|
gem.add_dependency 'json', '>= 1.7.0'
|
23
23
|
gem.add_dependency 'rainbow', '>= 1.1.4'
|
24
|
-
gem.add_dependency 'args_parser', '>= 0.
|
25
|
-
gem.add_dependency 'parallel', '>= 0.
|
24
|
+
gem.add_dependency 'args_parser', '>= 0.2.0'
|
25
|
+
gem.add_dependency 'parallel', '>= 0.8.2'
|
26
26
|
|
27
27
|
gem.add_development_dependency 'rake'
|
28
28
|
gem.add_development_dependency 'bundler', '~> 1.3'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tw
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sho Hashimoto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: twitter
|
@@ -72,28 +72,28 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - '>='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 0.2.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
82
|
+
version: 0.2.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: parallel
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - '>='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.8.2
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - '>='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.8.2
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rake
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|