@@ -15,7 +15,7 @@ class CLI < Thor
15
15
16
16
DEFAULT_HOST = 'api.twitter.com'
17
17
DEFAULT_PROTOCOL = 'https'
18
- DEFAULT_RPP = 20
18
+ DEFAULT_NUM_RESULTS = 20
19
19
MAX_SCREEN_NAME_SIZE = 20
20
20
21
21
check_unknown_options!
@@ -88,9 +88,12 @@ def block(screen_name)
88
88
end
89
89
90
90
desc "direct_messages" , "Returns the 20 most recent Direct Messages sent to you."
91
+ method_option :number , :aliases => "-n" , :type => :numeric , :default => DEFAULT_NUM_RESULTS
91
92
def direct_messages
93
+ defaults = { :include_entities => false }
94
+ defaults . merge! ( :count => options [ 'number' ] ) if options [ 'number' ]
92
95
run_pager
93
- client . direct_messages ( :include_entities => false ) . each do |direct_message |
96
+ client . direct_messages ( defaults ) . each do |direct_message |
94
97
say "#{ direct_message . sender . screen_name . rjust ( MAX_SCREEN_NAME_SIZE ) } : #{ direct_message . text } (#{ time_ago_in_words ( direct_message . created_at ) } ago)"
95
98
end
96
99
end
@@ -125,13 +128,13 @@ def favorite(screen_name)
125
128
end
126
129
map %w( fave ) => :favorite
127
130
128
- desc "favorites" , "Returns the #{ DEFAULT_RPP } most recent Tweets you favorited."
129
- method_option :number , :aliases => "-n" , :type => :numeric , :default => DEFAULT_RPP
131
+ desc "favorites" , "Returns the #{ DEFAULT_NUM_RESULTS } most recent Tweets you favorited."
132
+ method_option :number , :aliases => "-n" , :type => :numeric , :default => DEFAULT_NUM_RESULTS
130
133
method_option :reverse , :aliases => "-r" , :type => :boolean , :default => false
131
134
def favorites
132
- hash = { :include_entities => false }
133
- hash . merge! ( :count => options [ 'number' ] ) if options [ 'number' ]
134
- timeline = client . favorites ( hash )
135
+ defaults = { :include_entities => false }
136
+ defaults . merge! ( :count => options [ 'number' ] ) if options [ 'number' ]
137
+ timeline = client . favorites ( defaults )
135
138
timeline . reverse! if options [ 'reverse' ]
136
139
run_pager
137
140
timeline . each do |status |
@@ -140,13 +143,13 @@ def favorites
140
143
end
141
144
map %w( faves ) => :favorites
142
145
143
- desc "mentions" , "Returns the #{ DEFAULT_RPP } most recent Tweets mentioning you."
144
- method_option :number , :aliases => "-n" , :type => :numeric , :default => DEFAULT_RPP
146
+ desc "mentions" , "Returns the #{ DEFAULT_NUM_RESULTS } most recent Tweets mentioning you."
147
+ method_option :number , :aliases => "-n" , :type => :numeric , :default => DEFAULT_NUM_RESULTS
145
148
method_option :reverse , :aliases => "-r" , :type => :boolean , :default => false
146
149
def mentions
147
- hash = { :include_entities => false }
148
- hash . merge! ( :count => options [ 'number' ] ) if options [ 'number' ]
149
- timeline = client . mentions ( hash )
150
+ defaults = { :include_entities => false }
151
+ defaults . merge! ( :count => options [ 'number' ] ) if options [ 'number' ]
152
+ timeline = client . mentions ( defaults )
150
153
timeline . reverse! if options [ 'reverse' ]
151
154
run_pager
152
155
timeline . each do |status |
@@ -166,11 +169,11 @@ def open(screen_name)
166
169
method_option :location , :aliases => "-l" , :type => :boolean , :default => true
167
170
def reply ( screen_name , message )
168
171
screen_name = screen_name . strip_at
169
- hash = { :include_entities => false , :trim_user => true }
170
- hash . merge! ( :lat => location . lat , :long => location . lng ) if options [ 'location' ]
172
+ defaults = { :include_entities => false , :trim_user => true }
173
+ defaults . merge! ( :lat => location . lat , :long => location . lng ) if options [ 'location' ]
171
174
user = client . user ( screen_name , :include_entities => false )
172
- hash . merge! ( :in_reply_to_status_id => user . status . id ) if user . status
173
- status = client . update ( "@#{ user . screen_name } #{ message } " , hash )
175
+ defaults . merge! ( :in_reply_to_status_id => user . status . id ) if user . status
176
+ status = client . update ( "@#{ user . screen_name } #{ message } " , defaults )
174
177
say "Reply created by @#{ @rcfile . default_profile [ 0 ] } to @#{ user . screen_name } (#{ time_ago_in_words ( status . created_at ) } ago)"
175
178
say
176
179
say "Run `#{ $0} delete status` to delete."
@@ -198,9 +201,12 @@ def retweet(screen_name)
198
201
map %w( rt ) => :retweet
199
202
200
203
desc "sent_messages" , "Returns the 20 most recent Direct Messages sent to you."
204
+ method_option :number , :aliases => "-n" , :type => :numeric , :default => DEFAULT_NUM_RESULTS
201
205
def sent_messages
206
+ defaults = { :include_entities => false }
207
+ defaults . merge! ( :count => options [ 'number' ] ) if options [ 'number' ]
202
208
run_pager
203
- client . direct_messages_sent ( :include_entities => false ) . each do |direct_message |
209
+ client . direct_messages_sent ( defaults ) . each do |direct_message |
204
210
say "#{ direct_message . recipient . screen_name . rjust ( MAX_SCREEN_NAME_SIZE ) } : #{ direct_message . text } (#{ time_ago_in_words ( direct_message . created_at ) } ago)"
205
211
end
206
212
end
@@ -222,9 +228,9 @@ def stats(screen_name)
222
228
desc "status MESSAGE" , "Post a Tweet."
223
229
method_option :location , :aliases => "-l" , :type => :boolean , :default => true
224
230
def status ( message )
225
- hash = { :include_entities => false , :trim_user => true }
226
- hash . merge! ( :lat => location . lat , :long => location . lng ) if options [ 'location' ]
227
- status = client . update ( message , hash )
231
+ defaults = { :include_entities => false , :trim_user => true }
232
+ defaults . merge! ( :lat => location . lat , :long => location . lng ) if options [ 'location' ]
233
+ status = client . update ( message , defaults )
228
234
say "Tweet created by @#{ @rcfile . default_profile [ 0 ] } (#{ time_ago_in_words ( status . created_at ) } ago)"
229
235
say
230
236
say "Run `#{ $0} delete status` to delete."
@@ -243,17 +249,17 @@ def suggest
243
249
end
244
250
end
245
251
246
- desc "timeline [SCREEN_NAME]" , "Returns the #{ DEFAULT_RPP } most recent Tweets posted by a user."
247
- method_option :number , :aliases => "-n" , :type => :numeric , :default => DEFAULT_RPP
252
+ desc "timeline [SCREEN_NAME]" , "Returns the #{ DEFAULT_NUM_RESULTS } most recent Tweets posted by a user."
253
+ method_option :number , :aliases => "-n" , :type => :numeric , :default => DEFAULT_NUM_RESULTS
248
254
method_option :reverse , :aliases => "-r" , :type => :boolean , :default => false
249
255
def timeline ( screen_name = nil )
250
- hash = { :include_entities => false }
251
- hash . merge! ( :count => options [ 'number' ] ) if options [ 'number' ]
256
+ defaults = { :include_entities => false }
257
+ defaults . merge! ( :count => options [ 'number' ] ) if options [ 'number' ]
252
258
if screen_name
253
259
screen_name = screen_name . strip_at
254
- timeline = client . user_timeline ( screen_name , hash )
260
+ timeline = client . user_timeline ( screen_name , defaults )
255
261
else
256
- timeline = client . home_timeline ( hash )
262
+ timeline = client . home_timeline ( defaults )
257
263
end
258
264
timeline . reverse! if options [ 'reverse' ]
259
265
run_pager
0 commit comments