tw 0.5.1 → 0.5.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.
- 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
|