t 2.8.0 → 2.9.0

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.
@@ -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: