t 2.8.0 → 2.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,50 +22,50 @@ module T
22
22
  @rcfile.active_profile = {'username' => @rcfile[screen_name][consumer_key]['username'], 'consumer_key' => consumer_key}
23
23
  say "Active account has been updated to #{@rcfile.active_profile[0]}."
24
24
  end
25
- map %w[account default] => :active
25
+ map %w(account default) => :active
26
26
 
27
27
  desc 'bio DESCRIPTION', 'Edits your Bio information on your Twitter profile.'
28
28
  def bio(description)
29
- client.update_profile(:description => description)
29
+ client.update_profile(description: description)
30
30
  say "@#{@rcfile.active_profile[0]}'s bio has been updated."
31
31
  end
32
32
 
33
33
  desc 'language LANGUAGE_NAME', "Selects the language you'd like to receive notifications in."
34
34
  def language(language_name)
35
- client.settings(:lang => language_name)
35
+ client.settings(lang: language_name)
36
36
  say "@#{@rcfile.active_profile[0]}'s language has been updated."
37
37
  end
38
38
 
39
39
  desc 'location PLACE_NAME', 'Updates the location field in your profile.'
40
40
  def location(place_name)
41
- client.update_profile(:location => place_name)
41
+ client.update_profile(location: place_name)
42
42
  say "@#{@rcfile.active_profile[0]}'s location has been updated."
43
43
  end
44
44
 
45
45
  desc 'name NAME', 'Sets the name field on your Twitter profile.'
46
46
  def name(name)
47
- client.update_profile(:name => name)
47
+ client.update_profile(name: name)
48
48
  say "@#{@rcfile.active_profile[0]}'s name has been updated."
49
49
  end
50
50
 
51
51
  desc 'profile_background_image FILE', 'Sets the background image on your Twitter profile.'
52
- method_option 'tile', :aliases => '-t', :type => :boolean, :desc => 'Whether or not to tile the background image.'
52
+ method_option 'tile', aliases: '-t', type: :boolean, desc: 'Whether or not to tile the background image.'
53
53
  def profile_background_image(file)
54
- client.update_profile_background_image(File.new(File.expand_path(file)), :tile => options['tile'], :skip_status => true)
54
+ client.update_profile_background_image(File.new(File.expand_path(file)), tile: options['tile'], skip_status: true)
55
55
  say "@#{@rcfile.active_profile[0]}'s background image has been updated."
56
56
  end
57
- map %w[background background_image] => :profile_background_image
57
+ map %w(background background_image) => :profile_background_image
58
58
 
59
59
  desc 'profile_image FILE', 'Sets the image on your Twitter profile.'
60
60
  def profile_image(file)
61
61
  client.update_profile_image(File.new(File.expand_path(file)))
62
62
  say "@#{@rcfile.active_profile[0]}'s image has been updated."
63
63
  end
64
- map %w[avatar image] => :profile_image
64
+ map %w(avatar image) => :profile_image
65
65
 
66
66
  desc 'website URI', 'Sets the website field on your profile.'
67
67
  def website(uri)
68
- client.update_profile(:url => uri)
68
+ client.update_profile(url: uri)
69
69
  say "@#{@rcfile.active_profile[0]}'s website has been updated."
70
70
  end
71
71
  end
@@ -25,9 +25,9 @@ module T
25
25
  end
26
26
 
27
27
  desc 'all', 'Stream a random sample of all Tweets (Control-C to stop)'
28
- method_option 'csv', :aliases => '-c', :type => :boolean, :desc => 'Output in CSV format.'
29
- method_option 'decode_uris', :aliases => '-d', :type => :boolean, :desc => 'Decodes t.co URLs into their original form.'
30
- method_option 'long', :aliases => '-l', :type => :boolean, :desc => 'Output in long format.'
28
+ method_option 'csv', aliases: '-c', type: :boolean, desc: 'Output in CSV format.'
29
+ method_option 'decode_uris', aliases: '-d', type: :boolean, desc: 'Decodes t.co URLs into their original form.'
30
+ method_option 'long', aliases: '-l', type: :boolean, desc: 'Output in long format.'
31
31
  def all
32
32
  streaming_client.before_request do
33
33
  if options['csv']
@@ -48,7 +48,7 @@ module T
48
48
  array = build_long_tweet(tweet).each_with_index.collect do |element, index|
49
49
  TWEET_HEADINGS_FORMATTING[index] % element
50
50
  end
51
- print_table([array], :truncate => STDOUT.tty?)
51
+ print_table([array], truncate: STDOUT.tty?)
52
52
  else
53
53
  print_message(tweet.user.screen_name, tweet.text)
54
54
  end
@@ -56,23 +56,23 @@ module T
56
56
  end
57
57
 
58
58
  desc 'list [USER/]LIST', 'Stream a timeline for members of the specified list (Control-C to stop)'
59
- method_option 'csv', :aliases => '-c', :type => :boolean, :desc => 'Output in CSV format.'
60
- method_option 'decode_uris', :aliases => '-d', :type => :boolean, :desc => 'Decodes t.co URLs into their original form.'
61
- method_option 'id', :aliases => '-i', :type => :boolean, :desc => 'Specify user via ID instead of screen name.'
62
- method_option 'long', :aliases => '-l', :type => :boolean, :desc => 'Output in long format.'
63
- method_option 'reverse', :aliases => '-r', :type => :boolean, :desc => 'Reverse the order of the sort.'
59
+ method_option 'csv', aliases: '-c', type: :boolean, desc: 'Output in CSV format.'
60
+ method_option 'decode_uris', aliases: '-d', type: :boolean, desc: 'Decodes t.co URLs into their original form.'
61
+ method_option 'id', aliases: '-i', type: :boolean, desc: 'Specify user via ID instead of screen name.'
62
+ method_option 'long', aliases: '-l', type: :boolean, desc: 'Output in long format.'
63
+ method_option 'reverse', aliases: '-r', type: :boolean, desc: 'Reverse the order of the sort.'
64
64
  def list(user_list)
65
65
  owner, list_name = extract_owner(user_list, options)
66
66
  require 't/list'
67
67
  streaming_client.before_request do
68
68
  list = T::List.new
69
69
  list.options = list.options.merge(options)
70
- list.options = list.options.merge(:reverse => true)
71
- list.options = list.options.merge(:format => TWEET_HEADINGS_FORMATTING)
70
+ list.options = list.options.merge(reverse: true)
71
+ list.options = list.options.merge(format: TWEET_HEADINGS_FORMATTING)
72
72
  list.timeline(user_list)
73
73
  end
74
74
  user_ids = client.list_members(owner, list_name).collect(&:id)
75
- streaming_client.filter(:follow => user_ids.join(',')) do |tweet|
75
+ streaming_client.filter(follow: user_ids.join(',')) do |tweet|
76
76
  next unless tweet.is_a?(Twitter::Tweet)
77
77
  if options['csv']
78
78
  print_csv_tweet(tweet)
@@ -80,13 +80,13 @@ module T
80
80
  array = build_long_tweet(tweet).each_with_index.collect do |element, index|
81
81
  TWEET_HEADINGS_FORMATTING[index] % element
82
82
  end
83
- print_table([array], :truncate => STDOUT.tty?)
83
+ print_table([array], truncate: STDOUT.tty?)
84
84
  else
85
85
  print_message(tweet.user.screen_name, tweet.text)
86
86
  end
87
87
  end
88
88
  end
89
- map %w[tl] => :timeline
89
+ map %w(tl) => :timeline
90
90
 
91
91
  desc 'matrix', 'Unfortunately, no one can be told what the Matrix is. You have to see it for yourself.'
92
92
  def matrix
@@ -95,27 +95,27 @@ module T
95
95
  cli = T::CLI.new
96
96
  cli.matrix
97
97
  end
98
- streaming_client.sample(:language => 'ja') do |tweet|
98
+ streaming_client.sample(language: 'ja') do |tweet|
99
99
  next unless tweet.is_a?(Twitter::Tweet)
100
100
  say(tweet.text.gsub(/[^\u3000\u3040-\u309f]/, '').reverse, [:bold, :green, :on_black], false)
101
101
  end
102
102
  end
103
103
 
104
104
  desc 'search KEYWORD [KEYWORD...]', 'Stream Tweets that contain specified keywords, joined with logical ORs (Control-C to stop)'
105
- method_option 'csv', :aliases => '-c', :type => :boolean, :desc => 'Output in CSV format.'
106
- method_option 'decode_uris', :aliases => '-d', :type => :boolean, :desc => 'Decodes t.co URLs into their original form.'
107
- method_option 'long', :aliases => '-l', :type => :boolean, :desc => 'Output in long format.'
105
+ method_option 'csv', aliases: '-c', type: :boolean, desc: 'Output in CSV format.'
106
+ method_option 'decode_uris', aliases: '-d', type: :boolean, desc: 'Decodes t.co URLs into their original form.'
107
+ method_option 'long', aliases: '-l', type: :boolean, desc: 'Output in long format.'
108
108
  def search(keyword, *keywords)
109
109
  keywords.unshift(keyword)
110
110
  require 't/search'
111
111
  streaming_client.before_request do
112
112
  search = T::Search.new
113
113
  search.options = search.options.merge(options)
114
- search.options = search.options.merge(:reverse => true)
115
- search.options = search.options.merge(:format => TWEET_HEADINGS_FORMATTING)
114
+ search.options = search.options.merge(reverse: true)
115
+ search.options = search.options.merge(format: TWEET_HEADINGS_FORMATTING)
116
116
  search.all(keywords.join(' OR '))
117
117
  end
118
- streaming_client.filter(:track => keywords.join(',')) do |tweet|
118
+ streaming_client.filter(track: keywords.join(',')) do |tweet|
119
119
  next unless tweet.is_a?(Twitter::Tweet)
120
120
  if options['csv']
121
121
  print_csv_tweet(tweet)
@@ -123,7 +123,7 @@ module T
123
123
  array = build_long_tweet(tweet).each_with_index.collect do |element, index|
124
124
  TWEET_HEADINGS_FORMATTING[index] % element
125
125
  end
126
- print_table([array], :truncate => STDOUT.tty?)
126
+ print_table([array], truncate: STDOUT.tty?)
127
127
  else
128
128
  print_message(tweet.user.screen_name, tweet.text)
129
129
  end
@@ -131,16 +131,16 @@ module T
131
131
  end
132
132
 
133
133
  desc 'timeline', 'Stream your timeline (Control-C to stop)'
134
- method_option 'csv', :aliases => '-c', :type => :boolean, :desc => 'Output in CSV format.'
135
- method_option 'decode_uris', :aliases => '-d', :type => :boolean, :desc => 'Decodes t.co URLs into their original form.'
136
- method_option 'long', :aliases => '-l', :type => :boolean, :desc => 'Output in long format.'
134
+ method_option 'csv', aliases: '-c', type: :boolean, desc: 'Output in CSV format.'
135
+ method_option 'decode_uris', aliases: '-d', type: :boolean, desc: 'Decodes t.co URLs into their original form.'
136
+ method_option 'long', aliases: '-l', type: :boolean, desc: 'Output in long format.'
137
137
  def timeline
138
138
  require 't/cli'
139
139
  streaming_client.before_request do
140
140
  cli = T::CLI.new
141
141
  cli.options = cli.options.merge(options)
142
- cli.options = cli.options.merge(:reverse => true)
143
- cli.options = cli.options.merge(:format => TWEET_HEADINGS_FORMATTING)
142
+ cli.options = cli.options.merge(reverse: true)
143
+ cli.options = cli.options.merge(format: TWEET_HEADINGS_FORMATTING)
144
144
  cli.timeline
145
145
  end
146
146
  streaming_client.user do |tweet|
@@ -151,7 +151,7 @@ module T
151
151
  array = build_long_tweet(tweet).each_with_index.collect do |element, index|
152
152
  TWEET_HEADINGS_FORMATTING[index] % element
153
153
  end
154
- print_table([array], :truncate => STDOUT.tty?)
154
+ print_table([array], truncate: STDOUT.tty?)
155
155
  else
156
156
  print_message(tweet.user.screen_name, tweet.text)
157
157
  end
@@ -159,9 +159,9 @@ module T
159
159
  end
160
160
 
161
161
  desc 'users USER_ID [USER_ID...]', 'Stream Tweets either from or in reply to specified users (Control-C to stop)'
162
- method_option 'csv', :aliases => '-c', :type => :boolean, :desc => 'Output in CSV format.'
163
- method_option 'decode_uris', :aliases => '-d', :type => :boolean, :desc => 'Decodes t.co URLs into their original form.'
164
- method_option 'long', :aliases => '-l', :type => :boolean, :desc => 'Output in long format.'
162
+ method_option 'csv', aliases: '-c', type: :boolean, desc: 'Output in CSV format.'
163
+ method_option 'decode_uris', aliases: '-d', type: :boolean, desc: 'Decodes t.co URLs into their original form.'
164
+ method_option 'long', aliases: '-l', type: :boolean, desc: 'Output in long format.'
165
165
  def users(user_id, *user_ids)
166
166
  user_ids.unshift(user_id)
167
167
  user_ids.collect!(&:to_i)
@@ -176,7 +176,7 @@ module T
176
176
  print_table([headings])
177
177
  end
178
178
  end
179
- streaming_client.filter(:follow => user_ids.join(',')) do |tweet|
179
+ streaming_client.filter(follow: user_ids.join(',')) do |tweet|
180
180
  next unless tweet.is_a?(Twitter::Tweet)
181
181
  if options['csv']
182
182
  print_csv_tweet(tweet)
@@ -184,7 +184,7 @@ module T
184
184
  array = build_long_tweet(tweet).each_with_index.collect do |element, index|
185
185
  TWEET_HEADINGS_FORMATTING[index] % element
186
186
  end
187
- print_table([array], :truncate => STDOUT.tty?)
187
+ print_table([array], truncate: STDOUT.tty?)
188
188
  else
189
189
  print_message(tweet.user.screen_name, tweet.text)
190
190
  end
@@ -50,7 +50,7 @@ module T
50
50
  def fetch_users(users, options)
51
51
  format_users!(users, options)
52
52
  require 'retryable'
53
- users = retryable(:tries => 3, :on => Twitter::Error, :sleep => 0) do
53
+ users = Retryable.retryable(tries: 3, on: Twitter::Error, sleep: 0) do
54
54
  yield users
55
55
  end
56
56
  [users, users.length]
@@ -1,7 +1,7 @@
1
1
  module T
2
2
  class Version
3
3
  MAJOR = 2
4
- MINOR = 8
4
+ MINOR = 9
5
5
  PATCH = 0
6
6
  PRE = nil
7
7
 
data/t.gemspec CHANGED
@@ -8,21 +8,20 @@ Gem::Specification.new do |spec|
8
8
  spec.add_dependency 'geokit', ['>= 1.8.3', '< 2']
9
9
  spec.add_dependency 'htmlentities', '~> 4.3'
10
10
  spec.add_dependency 'oauth', '~> 0.4.7'
11
- spec.add_dependency 'retryable', '~> 1.3'
11
+ spec.add_dependency 'retryable', '~> 2.0'
12
12
  spec.add_dependency 'thor', ['>= 0.19.1', '< 2']
13
- spec.add_dependency 'twitter', '~> 5.12'
13
+ spec.add_dependency 'twitter', '~> 5.13'
14
14
  spec.add_development_dependency 'bundler', '~> 1.0'
15
15
  spec.author = 'Erik Michaels-Ober'
16
- spec.bindir = 'bin'
17
16
  spec.description = 'A command-line power tool for Twitter.'
18
17
  spec.email = 'sferik@gmail.com'
19
- spec.executables = %w[t]
20
- spec.files = %w[CONTRIBUTING.md LICENSE.md README.md t.gemspec] + Dir['bin/*'] + Dir['lib/**/*.rb']
18
+ spec.executables = Dir['bin/*'].map { |f| File.basename(f) }
19
+ spec.files = %w(CONTRIBUTING.md LICENSE.md README.md t.gemspec) + Dir['bin/*'] + Dir['lib/**/*.rb']
21
20
  spec.homepage = 'http://sferik.github.com/t/'
22
- spec.licenses = %w[MIT]
21
+ spec.licenses = %w(MIT)
23
22
  spec.name = 't'
24
- spec.require_paths = %w[lib]
25
- spec.required_ruby_version = '>= 1.9.2'
23
+ spec.require_paths = %w(lib)
24
+ spec.required_ruby_version = '>= 1.9.3'
26
25
  spec.required_rubygems_version = '>= 1.3.5'
27
26
  spec.summary = 'CLI for Twitter'
28
27
  spec.version = T::Version
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: t
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.0
4
+ version: 2.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Michaels-Ober
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-30 00:00:00.000000000 Z
11
+ date: 2015-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: launchy
@@ -78,14 +78,14 @@ dependencies:
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '1.3'
81
+ version: '2.0'
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '1.3'
88
+ version: '2.0'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: thor
91
91
  requirement: !ruby/object:Gem::Requirement
@@ -112,14 +112,14 @@ dependencies:
112
112
  requirements:
113
113
  - - "~>"
114
114
  - !ruby/object:Gem::Version
115
- version: '5.12'
115
+ version: '5.13'
116
116
  type: :runtime
117
117
  prerelease: false
118
118
  version_requirements: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - "~>"
121
121
  - !ruby/object:Gem::Version
122
- version: '5.12'
122
+ version: '5.13'
123
123
  - !ruby/object:Gem::Dependency
124
124
  name: bundler
125
125
  requirement: !ruby/object:Gem::Requirement
@@ -152,6 +152,7 @@ files:
152
152
  - lib/t/core_ext/string.rb
153
153
  - lib/t/delete.rb
154
154
  - lib/t/editor.rb
155
+ - lib/t/identicon.rb
155
156
  - lib/t/list.rb
156
157
  - lib/t/printable.rb
157
158
  - lib/t/rcfile.rb
@@ -174,7 +175,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
174
175
  requirements:
175
176
  - - ">="
176
177
  - !ruby/object:Gem::Version
177
- version: 1.9.2
178
+ version: 1.9.3
178
179
  required_rubygems_version: !ruby/object:Gem::Requirement
179
180
  requirements:
180
181
  - - ">="
@@ -182,9 +183,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
183
  version: 1.3.5
183
184
  requirements: []
184
185
  rubyforge_project:
185
- rubygems_version: 2.2.2
186
+ rubygems_version: 2.4.5
186
187
  signing_key:
187
188
  specification_version: 4
188
189
  summary: CLI for Twitter
189
190
  test_files: []
190
- has_rdoc: