t 0.3.0 → 0.3.1
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.
- data/.travis.yml +1 -0
- data/bin/t +16 -13
- data/lib/t.rb +13 -0
- data/lib/t/cli.rb +10 -34
- data/lib/t/cli/list.rb +3 -28
- data/lib/t/cli/search.rb +5 -30
- data/lib/t/collectable.rb +1 -2
- data/lib/t/version.rb +1 -1
- data/spec/cli_spec.rb +1 -0
- data/spec/helper.rb +1 -1
- data/t.gemspec +2 -1
- metadata +46 -38
data/.travis.yml
CHANGED
data/bin/t
CHANGED
@@ -2,41 +2,44 @@
|
|
2
2
|
|
3
3
|
require 't'
|
4
4
|
|
5
|
+
# Output message to $stderr, prefixed with the program name
|
6
|
+
def pute(message="")
|
7
|
+
$stderr.puts "#{$0}: #{message}"
|
8
|
+
end
|
9
|
+
|
5
10
|
begin
|
6
11
|
T::CLI.start(ARGV)
|
7
12
|
rescue Interrupt
|
8
|
-
|
13
|
+
pute "Quitting..."
|
9
14
|
exit 1
|
10
15
|
rescue Twitter::Error::BadRequest => error
|
11
|
-
|
16
|
+
pute error.message
|
12
17
|
exit 400
|
13
18
|
rescue OAuth::Unauthorized
|
14
|
-
|
19
|
+
pute "Authorization failed"
|
15
20
|
exit 401
|
16
21
|
rescue Twitter::Error::Unauthorized => error
|
17
|
-
|
18
|
-
$stderr.puts
|
19
|
-
$stderr.puts "Run `#{$0} authorize --consumer-key=CONSUMER_KEY --consumer-secret=CONSUMER_SECRET` to authorize."
|
22
|
+
pute "#{error.message} Run `#{$0} authorize --consumer-key=CONSUMER_KEY --consumer-secret=CONSUMER_SECRET` to authorize."
|
20
23
|
exit 401
|
21
24
|
rescue Twitter::Error::Forbidden => error
|
22
|
-
|
25
|
+
pute error.message
|
23
26
|
exit 403
|
24
27
|
rescue Twitter::Error::NotFound => error
|
25
|
-
|
28
|
+
pute error.message
|
26
29
|
exit 404
|
27
30
|
rescue Twitter::Error::NotAcceptable => error
|
28
|
-
|
31
|
+
pute error.message
|
29
32
|
exit 406
|
30
33
|
rescue Twitter::Error::EnhanceYourCalm => error
|
31
|
-
|
34
|
+
pute error.message
|
32
35
|
exit 420
|
33
36
|
rescue Twitter::Error::InternalServerError => error
|
34
|
-
|
37
|
+
pute error.message
|
35
38
|
exit 500
|
36
39
|
rescue Twitter::Error::BadGateway => error
|
37
|
-
|
40
|
+
pute error.message
|
38
41
|
exit 502
|
39
42
|
rescue Twitter::Error::ServiceUnavailable => error
|
40
|
-
|
43
|
+
pute error.message
|
41
44
|
exit 503
|
42
45
|
end
|
data/lib/t.rb
CHANGED
@@ -1 +1,14 @@
|
|
1
|
+
require 'active_support/string_inquirer'
|
1
2
|
require 't/cli'
|
3
|
+
|
4
|
+
module T
|
5
|
+
class << self
|
6
|
+
def env
|
7
|
+
@env ||= ActiveSupport::StringInquirer.new("development")
|
8
|
+
end
|
9
|
+
|
10
|
+
def env=(environment)
|
11
|
+
@env = ActiveSupport::StringInquirer.new(environment)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/lib/t/cli.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'action_view'
|
2
2
|
require 'launchy'
|
3
3
|
require 'oauth'
|
4
|
+
require 'pager'
|
4
5
|
require 't/core_ext/string'
|
5
6
|
require 't/rcfile'
|
6
7
|
require 'thor'
|
@@ -12,6 +13,7 @@ module T
|
|
12
13
|
class CLI < Thor
|
13
14
|
include ActionView::Helpers::DateHelper
|
14
15
|
include ActionView::Helpers::NumberHelper
|
16
|
+
include Pager
|
15
17
|
|
16
18
|
DEFAULT_HOST = 'api.twitter.com'
|
17
19
|
DEFAULT_PROTOCOL = 'https'
|
@@ -92,7 +94,7 @@ module T
|
|
92
94
|
def direct_messages
|
93
95
|
defaults = {:include_entities => false}
|
94
96
|
defaults.merge!(:count => options['number']) if options['number']
|
95
|
-
|
97
|
+
page unless T.env.test?
|
96
98
|
client.direct_messages(defaults).each do |direct_message|
|
97
99
|
say "#{direct_message.sender.screen_name.rjust(MAX_SCREEN_NAME_SIZE)}: #{direct_message.text} (#{time_ago_in_words(direct_message.created_at)} ago)"
|
98
100
|
end
|
@@ -136,7 +138,7 @@ module T
|
|
136
138
|
defaults.merge!(:count => options['number']) if options['number']
|
137
139
|
timeline = client.favorites(defaults)
|
138
140
|
timeline.reverse! if options['reverse']
|
139
|
-
|
141
|
+
page unless T.env.test?
|
140
142
|
timeline.each do |status|
|
141
143
|
say "#{status.user.screen_name.rjust(MAX_SCREEN_NAME_SIZE)}: #{status.text} (#{time_ago_in_words(status.created_at)} ago)"
|
142
144
|
end
|
@@ -151,7 +153,7 @@ module T
|
|
151
153
|
defaults.merge!(:count => options['number']) if options['number']
|
152
154
|
timeline = client.mentions(defaults)
|
153
155
|
timeline.reverse! if options['reverse']
|
154
|
-
|
156
|
+
page unless T.env.test?
|
155
157
|
timeline.each do |status|
|
156
158
|
say "#{status.user.screen_name.rjust(MAX_SCREEN_NAME_SIZE)}: #{status.text} (#{time_ago_in_words(status.created_at)} ago)"
|
157
159
|
end
|
@@ -166,7 +168,7 @@ module T
|
|
166
168
|
end
|
167
169
|
|
168
170
|
desc "reply SCREEN_NAME MESSAGE", "Post your Tweet as a reply directed at another person."
|
169
|
-
method_option :location, :aliases => "-l", :type => :boolean, :default =>
|
171
|
+
method_option :location, :aliases => "-l", :type => :boolean, :default => false
|
170
172
|
def reply(screen_name, message)
|
171
173
|
screen_name = screen_name.strip_at
|
172
174
|
defaults = {:include_entities => false, :trim_user => true}
|
@@ -205,7 +207,7 @@ module T
|
|
205
207
|
def sent_messages
|
206
208
|
defaults = {:include_entities => false}
|
207
209
|
defaults.merge!(:count => options['number']) if options['number']
|
208
|
-
|
210
|
+
page unless T.env.test?
|
209
211
|
client.direct_messages_sent(defaults).each do |direct_message|
|
210
212
|
say "#{direct_message.recipient.screen_name.rjust(MAX_SCREEN_NAME_SIZE)}: #{direct_message.text} (#{time_ago_in_words(direct_message.created_at)} ago)"
|
211
213
|
end
|
@@ -226,7 +228,7 @@ module T
|
|
226
228
|
end
|
227
229
|
|
228
230
|
desc "status MESSAGE", "Post a Tweet."
|
229
|
-
method_option :location, :aliases => "-l", :type => :boolean, :default =>
|
231
|
+
method_option :location, :aliases => "-l", :type => :boolean, :default => false
|
230
232
|
def status(message)
|
231
233
|
defaults = {:include_entities => false, :trim_user => true}
|
232
234
|
defaults.merge!(:lat => location.lat, :long => location.lng) if options['location']
|
@@ -262,7 +264,7 @@ module T
|
|
262
264
|
timeline = client.home_timeline(defaults)
|
263
265
|
end
|
264
266
|
timeline.reverse! if options['reverse']
|
265
|
-
|
267
|
+
page unless T.env.test?
|
266
268
|
timeline.each do |status|
|
267
269
|
say "#{status.user.screen_name.rjust(MAX_SCREEN_NAME_SIZE)}: #{status.text} (#{time_ago_in_words(status.created_at)} ago)"
|
268
270
|
end
|
@@ -279,6 +281,7 @@ module T
|
|
279
281
|
def whois(screen_name)
|
280
282
|
screen_name = screen_name.strip_at
|
281
283
|
user = client.user(screen_name, :include_entities => false)
|
284
|
+
say "id: ##{number_with_delimiter(user.id)}"
|
282
285
|
say "#{user.name}, since #{user.created_at.strftime("%b %Y")}."
|
283
286
|
say "bio: #{user.description}"
|
284
287
|
say "location: #{user.location}"
|
@@ -368,32 +371,5 @@ module T
|
|
368
371
|
options['no_ssl'] ? 'http' : DEFAULT_PROTOCOL
|
369
372
|
end
|
370
373
|
|
371
|
-
def run_pager
|
372
|
-
return if RUBY_PLATFORM =~ /win32/
|
373
|
-
return if ENV["T_ENV"] == "test"
|
374
|
-
return unless STDOUT.tty?
|
375
|
-
|
376
|
-
read, write = IO.pipe
|
377
|
-
|
378
|
-
unless Kernel.fork # Child process
|
379
|
-
STDOUT.reopen(write)
|
380
|
-
STDERR.reopen(write) if STDERR.tty?
|
381
|
-
read.close
|
382
|
-
write.close
|
383
|
-
return
|
384
|
-
end
|
385
|
-
|
386
|
-
# Parent process, become pager
|
387
|
-
STDIN.reopen(read)
|
388
|
-
read.close
|
389
|
-
write.close
|
390
|
-
|
391
|
-
ENV['LESS'] = 'FSRX' # Don't page if the input is short enough
|
392
|
-
|
393
|
-
Kernel.select [STDIN] # Wait until we have input before we start the pager
|
394
|
-
pager = ENV['PAGER'] || 'less'
|
395
|
-
exec pager rescue exec "/bin/sh", "-c", pager
|
396
|
-
end
|
397
|
-
|
398
374
|
end
|
399
375
|
end
|
data/lib/t/cli/list.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'action_view'
|
2
|
+
require 'pager'
|
2
3
|
require 't/rcfile'
|
3
4
|
require 'thor'
|
4
5
|
require 'twitter'
|
@@ -7,6 +8,7 @@ module T
|
|
7
8
|
class CLI
|
8
9
|
class List < Thor
|
9
10
|
include ActionView::Helpers::DateHelper
|
11
|
+
include Pager
|
10
12
|
|
11
13
|
DEFAULT_HOST = 'api.twitter.com'
|
12
14
|
DEFAULT_PROTOCOL = 'https'
|
@@ -37,7 +39,7 @@ module T
|
|
37
39
|
defaults.merge!(:per_page => options['number']) if options['number']
|
38
40
|
timeline = client.list_timeline(list_name, defaults)
|
39
41
|
timeline.reverse! if options['reverse']
|
40
|
-
|
42
|
+
page unless T.env.test?
|
41
43
|
timeline.each do |status|
|
42
44
|
say "#{status.user.screen_name.rjust(MAX_SCREEN_NAME_SIZE)}: #{status.text} (#{time_ago_in_words(status.created_at)} ago)"
|
43
45
|
end
|
@@ -78,33 +80,6 @@ module T
|
|
78
80
|
parent_options['no_ssl'] ? 'http' : DEFAULT_PROTOCOL
|
79
81
|
end
|
80
82
|
|
81
|
-
def run_pager
|
82
|
-
return if RUBY_PLATFORM =~ /win32/
|
83
|
-
return if ENV["T_ENV"] == "test"
|
84
|
-
return unless STDOUT.tty?
|
85
|
-
|
86
|
-
read, write = IO.pipe
|
87
|
-
|
88
|
-
unless Kernel.fork # Child process
|
89
|
-
STDOUT.reopen(write)
|
90
|
-
STDERR.reopen(write) if STDERR.tty?
|
91
|
-
read.close
|
92
|
-
write.close
|
93
|
-
return
|
94
|
-
end
|
95
|
-
|
96
|
-
# Parent process, become pager
|
97
|
-
STDIN.reopen(read)
|
98
|
-
read.close
|
99
|
-
write.close
|
100
|
-
|
101
|
-
ENV['LESS'] = 'FSRX' # Don't page if the input is short enough
|
102
|
-
|
103
|
-
Kernel.select [STDIN] # Wait until we have input before we start the pager
|
104
|
-
pager = ENV['PAGER'] || 'less'
|
105
|
-
exec pager rescue exec "/bin/sh", "-c", pager
|
106
|
-
end
|
107
|
-
|
108
83
|
end
|
109
84
|
end
|
110
85
|
end
|
data/lib/t/cli/search.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'action_view'
|
2
|
+
require 'pager'
|
2
3
|
require 'retryable'
|
3
4
|
require 't/core_ext/enumerable'
|
4
5
|
require 't/rcfile'
|
@@ -9,6 +10,7 @@ module T
|
|
9
10
|
class CLI
|
10
11
|
class Search < Thor
|
11
12
|
include ActionView::Helpers::DateHelper
|
13
|
+
include Pager
|
12
14
|
|
13
15
|
DEFAULT_HOST = 'api.twitter.com'
|
14
16
|
DEFAULT_PROTOCOL = 'https'
|
@@ -32,7 +34,7 @@ module T
|
|
32
34
|
defaults.merge!(:rpp => options['number']) if options['number']
|
33
35
|
timeline = client.search(query, defaults)
|
34
36
|
timeline.reverse! if options['reverse']
|
35
|
-
|
37
|
+
page unless T.env.test?
|
36
38
|
timeline.each do |status|
|
37
39
|
say "#{status.from_user.rjust(MAX_SCREEN_NAME_SIZE)}: #{status.text} (#{time_ago_in_words(status.created_at)} ago)"
|
38
40
|
end
|
@@ -47,7 +49,7 @@ module T
|
|
47
49
|
end
|
48
50
|
end
|
49
51
|
end
|
50
|
-
|
52
|
+
page unless T.env.test?
|
51
53
|
timeline.flatten.compact.each do |status|
|
52
54
|
say "#{status.user.screen_name.rjust(MAX_SCREEN_NAME_SIZE)}: #{status.text} (#{time_ago_in_words(status.created_at)} ago)"
|
53
55
|
end
|
@@ -64,7 +66,7 @@ module T
|
|
64
66
|
end
|
65
67
|
end
|
66
68
|
end
|
67
|
-
|
69
|
+
page unless T.env.test?
|
68
70
|
timeline.flatten.compact.each do |status|
|
69
71
|
say "#{status.user.screen_name.rjust(MAX_SCREEN_NAME_SIZE)}: #{status.text} (#{time_ago_in_words(status.created_at)} ago)"
|
70
72
|
end
|
@@ -96,33 +98,6 @@ module T
|
|
96
98
|
parent_options['no_ssl'] ? 'http' : DEFAULT_PROTOCOL
|
97
99
|
end
|
98
100
|
|
99
|
-
def run_pager
|
100
|
-
return if RUBY_PLATFORM =~ /win32/
|
101
|
-
return if ENV["T_ENV"] == "test"
|
102
|
-
return unless STDOUT.tty?
|
103
|
-
|
104
|
-
read, write = IO.pipe
|
105
|
-
|
106
|
-
unless Kernel.fork # Child process
|
107
|
-
STDOUT.reopen(write)
|
108
|
-
STDERR.reopen(write) if STDERR.tty?
|
109
|
-
read.close
|
110
|
-
write.close
|
111
|
-
return
|
112
|
-
end
|
113
|
-
|
114
|
-
# Parent process, become pager
|
115
|
-
STDIN.reopen(read)
|
116
|
-
read.close
|
117
|
-
write.close
|
118
|
-
|
119
|
-
ENV['LESS'] = 'FSRX' # Don't page if the input is short enough
|
120
|
-
|
121
|
-
Kernel.select [STDIN] # Wait until we have input before we start the pager
|
122
|
-
pager = ENV['PAGER'] || 'less'
|
123
|
-
exec pager rescue exec "/bin/sh", "-c", pager
|
124
|
-
end
|
125
|
-
|
126
101
|
end
|
127
102
|
end
|
128
103
|
end
|
data/lib/t/collectable.rb
CHANGED
@@ -2,10 +2,9 @@ module T
|
|
2
2
|
module Collectable
|
3
3
|
|
4
4
|
def collect_with_cursor(collection=[], cursor=-1, &block)
|
5
|
-
return collection if cursor == 0
|
6
5
|
object = yield cursor
|
7
6
|
collection += object.collection
|
8
|
-
collect_with_cursor(collection, object.next_cursor)
|
7
|
+
object.next_cursor.zero? ? collection : collect_with_cursor(collection, object.next_cursor)
|
9
8
|
end
|
10
9
|
|
11
10
|
end
|
data/lib/t/version.rb
CHANGED
data/spec/cli_spec.rb
CHANGED
@@ -594,6 +594,7 @@ describe T::CLI do
|
|
594
594
|
it "should have the correct output" do
|
595
595
|
@t.whois("sferik")
|
596
596
|
$stdout.string.should == <<-eos.gsub(/^ {8}/, '')
|
597
|
+
id: #7,505,382
|
597
598
|
Erik Michaels-Ober, since Jul 2007.
|
598
599
|
bio: A mind forever voyaging through strange seas of thought, alone.
|
599
600
|
location: San Francisco
|
data/spec/helper.rb
CHANGED
data/t.gemspec
CHANGED
@@ -7,9 +7,10 @@ Gem::Specification.new do |gem|
|
|
7
7
|
gem.add_dependency 'launchy', '~> 2.0'
|
8
8
|
gem.add_dependency 'geokit', '~> 1.6'
|
9
9
|
gem.add_dependency 'oauth', '~> 0.4'
|
10
|
+
gem.add_dependency 'pager', '~> 1.0'
|
10
11
|
gem.add_dependency 'retryable', '~> 1.2'
|
11
12
|
gem.add_dependency 'thor', '~> 0.15.0.rc2'
|
12
|
-
gem.add_dependency 'twitter',
|
13
|
+
gem.add_dependency 'twitter', '~> 2.1'
|
13
14
|
gem.add_dependency 'yajl-ruby', '~> 1.1'
|
14
15
|
gem.add_development_dependency 'pry'
|
15
16
|
gem.add_development_dependency 'rake'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: t
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-28 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
16
|
-
requirement: &
|
16
|
+
requirement: &70134698842180 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -24,10 +24,10 @@ dependencies:
|
|
24
24
|
version: '4'
|
25
25
|
type: :runtime
|
26
26
|
prerelease: false
|
27
|
-
version_requirements: *
|
27
|
+
version_requirements: *70134698842180
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: activesupport
|
30
|
-
requirement: &
|
30
|
+
requirement: &70134698841380 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
32
|
requirements:
|
33
33
|
- - ! '>='
|
@@ -38,10 +38,10 @@ dependencies:
|
|
38
38
|
version: '4'
|
39
39
|
type: :runtime
|
40
40
|
prerelease: false
|
41
|
-
version_requirements: *
|
41
|
+
version_requirements: *70134698841380
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: launchy
|
44
|
-
requirement: &
|
44
|
+
requirement: &70134698840660 !ruby/object:Gem::Requirement
|
45
45
|
none: false
|
46
46
|
requirements:
|
47
47
|
- - ~>
|
@@ -49,10 +49,10 @@ dependencies:
|
|
49
49
|
version: '2.0'
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
|
-
version_requirements: *
|
52
|
+
version_requirements: *70134698840660
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: geokit
|
55
|
-
requirement: &
|
55
|
+
requirement: &70134698840200 !ruby/object:Gem::Requirement
|
56
56
|
none: false
|
57
57
|
requirements:
|
58
58
|
- - ~>
|
@@ -60,10 +60,10 @@ dependencies:
|
|
60
60
|
version: '1.6'
|
61
61
|
type: :runtime
|
62
62
|
prerelease: false
|
63
|
-
version_requirements: *
|
63
|
+
version_requirements: *70134698840200
|
64
64
|
- !ruby/object:Gem::Dependency
|
65
65
|
name: oauth
|
66
|
-
requirement: &
|
66
|
+
requirement: &70134698858160 !ruby/object:Gem::Requirement
|
67
67
|
none: false
|
68
68
|
requirements:
|
69
69
|
- - ~>
|
@@ -71,10 +71,21 @@ dependencies:
|
|
71
71
|
version: '0.4'
|
72
72
|
type: :runtime
|
73
73
|
prerelease: false
|
74
|
-
version_requirements: *
|
74
|
+
version_requirements: *70134698858160
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: pager
|
77
|
+
requirement: &70134698857700 !ruby/object:Gem::Requirement
|
78
|
+
none: false
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.0'
|
83
|
+
type: :runtime
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: *70134698857700
|
75
86
|
- !ruby/object:Gem::Dependency
|
76
87
|
name: retryable
|
77
|
-
requirement: &
|
88
|
+
requirement: &70134698857240 !ruby/object:Gem::Requirement
|
78
89
|
none: false
|
79
90
|
requirements:
|
80
91
|
- - ~>
|
@@ -82,10 +93,10 @@ dependencies:
|
|
82
93
|
version: '1.2'
|
83
94
|
type: :runtime
|
84
95
|
prerelease: false
|
85
|
-
version_requirements: *
|
96
|
+
version_requirements: *70134698857240
|
86
97
|
- !ruby/object:Gem::Dependency
|
87
98
|
name: thor
|
88
|
-
requirement: &
|
99
|
+
requirement: &70134698856780 !ruby/object:Gem::Requirement
|
89
100
|
none: false
|
90
101
|
requirements:
|
91
102
|
- - ~>
|
@@ -93,24 +104,21 @@ dependencies:
|
|
93
104
|
version: 0.15.0.rc2
|
94
105
|
type: :runtime
|
95
106
|
prerelease: false
|
96
|
-
version_requirements: *
|
107
|
+
version_requirements: *70134698856780
|
97
108
|
- !ruby/object:Gem::Dependency
|
98
109
|
name: twitter
|
99
|
-
requirement: &
|
110
|
+
requirement: &70134698856320 !ruby/object:Gem::Requirement
|
100
111
|
none: false
|
101
112
|
requirements:
|
102
|
-
- -
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: 2.0.2
|
105
|
-
- - <
|
113
|
+
- - ~>
|
106
114
|
- !ruby/object:Gem::Version
|
107
|
-
version: '
|
115
|
+
version: '2.1'
|
108
116
|
type: :runtime
|
109
117
|
prerelease: false
|
110
|
-
version_requirements: *
|
118
|
+
version_requirements: *70134698856320
|
111
119
|
- !ruby/object:Gem::Dependency
|
112
120
|
name: yajl-ruby
|
113
|
-
requirement: &
|
121
|
+
requirement: &70134698855860 !ruby/object:Gem::Requirement
|
114
122
|
none: false
|
115
123
|
requirements:
|
116
124
|
- - ~>
|
@@ -118,10 +126,10 @@ dependencies:
|
|
118
126
|
version: '1.1'
|
119
127
|
type: :runtime
|
120
128
|
prerelease: false
|
121
|
-
version_requirements: *
|
129
|
+
version_requirements: *70134698855860
|
122
130
|
- !ruby/object:Gem::Dependency
|
123
131
|
name: pry
|
124
|
-
requirement: &
|
132
|
+
requirement: &70134698855480 !ruby/object:Gem::Requirement
|
125
133
|
none: false
|
126
134
|
requirements:
|
127
135
|
- - ! '>='
|
@@ -129,10 +137,10 @@ dependencies:
|
|
129
137
|
version: '0'
|
130
138
|
type: :development
|
131
139
|
prerelease: false
|
132
|
-
version_requirements: *
|
140
|
+
version_requirements: *70134698855480
|
133
141
|
- !ruby/object:Gem::Dependency
|
134
142
|
name: rake
|
135
|
-
requirement: &
|
143
|
+
requirement: &70134698855020 !ruby/object:Gem::Requirement
|
136
144
|
none: false
|
137
145
|
requirements:
|
138
146
|
- - ! '>='
|
@@ -140,10 +148,10 @@ dependencies:
|
|
140
148
|
version: '0'
|
141
149
|
type: :development
|
142
150
|
prerelease: false
|
143
|
-
version_requirements: *
|
151
|
+
version_requirements: *70134698855020
|
144
152
|
- !ruby/object:Gem::Dependency
|
145
153
|
name: rspec
|
146
|
-
requirement: &
|
154
|
+
requirement: &70134698854600 !ruby/object:Gem::Requirement
|
147
155
|
none: false
|
148
156
|
requirements:
|
149
157
|
- - ! '>='
|
@@ -151,10 +159,10 @@ dependencies:
|
|
151
159
|
version: '0'
|
152
160
|
type: :development
|
153
161
|
prerelease: false
|
154
|
-
version_requirements: *
|
162
|
+
version_requirements: *70134698854600
|
155
163
|
- !ruby/object:Gem::Dependency
|
156
164
|
name: simplecov
|
157
|
-
requirement: &
|
165
|
+
requirement: &70134698854180 !ruby/object:Gem::Requirement
|
158
166
|
none: false
|
159
167
|
requirements:
|
160
168
|
- - ! '>='
|
@@ -162,10 +170,10 @@ dependencies:
|
|
162
170
|
version: '0'
|
163
171
|
type: :development
|
164
172
|
prerelease: false
|
165
|
-
version_requirements: *
|
173
|
+
version_requirements: *70134698854180
|
166
174
|
- !ruby/object:Gem::Dependency
|
167
175
|
name: timecop
|
168
|
-
requirement: &
|
176
|
+
requirement: &70134698853760 !ruby/object:Gem::Requirement
|
169
177
|
none: false
|
170
178
|
requirements:
|
171
179
|
- - ! '>='
|
@@ -173,10 +181,10 @@ dependencies:
|
|
173
181
|
version: '0'
|
174
182
|
type: :development
|
175
183
|
prerelease: false
|
176
|
-
version_requirements: *
|
184
|
+
version_requirements: *70134698853760
|
177
185
|
- !ruby/object:Gem::Dependency
|
178
186
|
name: webmock
|
179
|
-
requirement: &
|
187
|
+
requirement: &70134698853340 !ruby/object:Gem::Requirement
|
180
188
|
none: false
|
181
189
|
requirements:
|
182
190
|
- - ! '>='
|
@@ -184,7 +192,7 @@ dependencies:
|
|
184
192
|
version: '0'
|
185
193
|
type: :development
|
186
194
|
prerelease: false
|
187
|
-
version_requirements: *
|
195
|
+
version_requirements: *70134698853340
|
188
196
|
description: A command-line interface for Twitter.
|
189
197
|
email: sferik@gmail.com
|
190
198
|
executables:
|
@@ -270,7 +278,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
270
278
|
version: 1.3.6
|
271
279
|
requirements: []
|
272
280
|
rubyforge_project:
|
273
|
-
rubygems_version: 1.8.
|
281
|
+
rubygems_version: 1.8.15
|
274
282
|
signing_key:
|
275
283
|
specification_version: 3
|
276
284
|
summary: CLI for Twitter
|