earthquake 0.9.4 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +1 -0
- data/bin/earthquake +9 -23
- data/earthquake.gemspec +2 -2
- data/lib/earthquake/commands.rb +6 -5
- data/lib/earthquake/core.rb +9 -2
- data/lib/earthquake/ext.rb +0 -15
- data/lib/earthquake/input.rb +7 -6
- data/lib/earthquake/option_parser.rb +33 -0
- data/lib/earthquake/output.rb +9 -4
- data/lib/earthquake/twitter.rb +1 -19
- data/lib/earthquake/version.rb +1 -1
- data/spec/earthquake_option_parser_spec.rb +78 -0
- data/spec/spec_helper.rb +8 -2
- metadata +31 -54
- data/spec/earthquake_spec.rb +0 -7
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b67d0711b61d5ffd750f5e2c32533b376149337c
|
4
|
+
data.tar.gz: 99b668a42fc0220f3db351f7e74d6d9fb0e63568
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: fced4dd9126ee990b0cebdbb81c4ed6f33f72d1ad0aaaf251e04c07da55495cc4ca4ac1713ab4fb1421760f64cbcd2509b4476a67874fee538510fc39f086dcf
|
7
|
+
data.tar.gz: 2a5029a51afe819d0236de6bfc8de7d3d82bf71f0da942e48e8a1fcae0da92444dab9a62adfb4a71b62defa3b668dba9580a9f8e31ecf318fded804936885919
|
data/README.md
CHANGED
@@ -28,6 +28,7 @@ You'll need openssl and readline support with your 1.9.2. If you are
|
|
28
28
|
using rvm you can run:
|
29
29
|
|
30
30
|
$ rvm pkg install openssl
|
31
|
+
$ rvm pkg install readline
|
31
32
|
$ rvm remove 1.9.2
|
32
33
|
$ rvm install 1.9.2 --with-openssl-dir=$HOME/.rvm/usr \
|
33
34
|
--with-readline-dir=$HOME/.rvm/usr
|
data/bin/earthquake
CHANGED
@@ -1,33 +1,19 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
require '
|
2
|
+
require 'pathname'
|
3
|
+
$:.unshift Pathname.new(__FILE__).realpath.join('../../lib') if $0 == __FILE__
|
4
|
+
require 'earthquake/option_parser'
|
5
|
+
require "earthquake/version"
|
3
6
|
|
4
|
-
|
5
|
-
|
6
|
-
slop.banner "Usage: earthquake [options] [directory]"
|
7
|
-
slop.on :d, :debug, 'Enable debug mode'
|
8
|
-
slop.on :n, :'no-logo', 'No Logo'
|
9
|
-
slop.on :c, :command, "Invoke a command and exit", true
|
10
|
-
slop.on :'--no-stream', "No stream mode"
|
7
|
+
option_parser = Earthquake::OptionParser.new(ARGV.dup)
|
8
|
+
options = nil
|
11
9
|
begin
|
12
|
-
|
10
|
+
options = option_parser.parse
|
11
|
+
rescue Earthquake::OptionParser::Help
|
12
|
+
exit
|
13
13
|
rescue => e
|
14
14
|
puts e
|
15
15
|
exit!
|
16
16
|
end
|
17
|
-
options = slop.to_hash
|
18
|
-
|
19
|
-
# XXX: work around slop's feature (bug?)
|
20
|
-
options.each do |key, val|
|
21
|
-
val = val.nil? ? nil : true if key.to_s =~ /^no-/
|
22
|
-
options[key] = val
|
23
|
-
end
|
24
|
-
|
25
|
-
options.delete(:help)
|
26
|
-
options[:dir] = argv.shift unless argv.empty?
|
27
|
-
|
28
|
-
require 'pathname'
|
29
|
-
$:.unshift Pathname.new(__FILE__).realpath.join('../../lib') if $0 == __FILE__
|
30
|
-
require "earthquake/version"
|
31
17
|
|
32
18
|
command = options.delete(:command)
|
33
19
|
no_logo = options.delete(:'no-logo')
|
data/earthquake.gemspec
CHANGED
@@ -25,8 +25,8 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_runtime_dependency "awesome_print"
|
26
26
|
s.add_runtime_dependency "launchy"
|
27
27
|
s.add_runtime_dependency "oauth"
|
28
|
-
s.add_runtime_dependency "twitter_oauth", "= 0.
|
29
|
-
s.add_runtime_dependency "slop", "~> 3.0"
|
28
|
+
s.add_runtime_dependency "jugyo-twitter_oauth", "= 0.5.0.pre5"
|
29
|
+
s.add_runtime_dependency "slop", "~> 3.4.0"
|
30
30
|
s.add_development_dependency "rspec", "~> 2.0"
|
31
31
|
s.add_development_dependency "bundler"
|
32
32
|
|
data/lib/earthquake/commands.rb
CHANGED
@@ -112,6 +112,7 @@ Earthquake.init do
|
|
112
112
|
return text unless config[:eval_as_ruby_string_for_update]
|
113
113
|
begin
|
114
114
|
text = eval(%|"#{text.gsub('"', '\"')}"|)
|
115
|
+
rescue SyntaxError => e
|
115
116
|
rescue Exception => e
|
116
117
|
puts e.message.c(:notice)
|
117
118
|
end
|
@@ -238,16 +239,14 @@ Earthquake.init do
|
|
238
239
|
if user.key?("error")
|
239
240
|
user = twitter.status(m[1])["user"] || {}
|
240
241
|
end
|
241
|
-
ap user.slice(*%w(
|
242
|
+
ap user.slice(*%w(id_str screen_name name profile_image_url description url location time_zone lang protected statuses_count followers_count friends_count listed_count created_at))
|
242
243
|
end
|
243
244
|
|
244
245
|
help :user, "show user info"
|
245
246
|
|
246
247
|
command :search do |m|
|
247
248
|
search_options = config[:search_options] ? config[:search_options].dup : {}
|
248
|
-
puts_items twitter.search(m[1], search_options)[
|
249
|
-
s["user"] = {"screen_name" => s["from_user"]}
|
250
|
-
s["_disable_cache"] = true
|
249
|
+
puts_items twitter.search(m[1], search_options)['statuses'].each { |s|
|
251
250
|
words = m[1].split(/\s+/).reject{|x| x[0] =~ /^-|^(OR|AND)$/ }.map{|x|
|
252
251
|
case x
|
253
252
|
when /^from:(.+)/, /^to:(.+)/
|
@@ -427,7 +426,9 @@ Earthquake.init do
|
|
427
426
|
help :update_profile_image, "updates profile image from local file path"
|
428
427
|
|
429
428
|
command %r|^:open\s+(\d+)$|, :as => :open do |m|
|
430
|
-
matches =
|
429
|
+
matches = twitter.status(m[1])['retweeted_status'].nil? ?
|
430
|
+
URI.extract(twitter.status(m[1])["text"],["http", "https"]) :
|
431
|
+
URI.extract(twitter.status(m[1])['retweeted_status']["text"],["http", "https"])
|
431
432
|
unless matches.empty?
|
432
433
|
matches.each do |match_url|
|
433
434
|
browse match_url
|
data/lib/earthquake/core.rb
CHANGED
@@ -64,6 +64,8 @@ module Earthquake
|
|
64
64
|
prompt: '⚡ ',
|
65
65
|
consumer_key: consumer['key'],
|
66
66
|
consumer_secret: consumer['secret'],
|
67
|
+
api_version: '1.1',
|
68
|
+
secure: true,
|
67
69
|
output_interval: 1,
|
68
70
|
history_size: 1000,
|
69
71
|
api: { :host => 'userstream.twitter.com', :path => '/2/user.json', :ssl => true },
|
@@ -132,7 +134,7 @@ module Earthquake
|
|
132
134
|
Readline::HISTORY.pop if buf.empty? || Readline::HISTORY[-1] == Readline::HISTORY[-2]
|
133
135
|
end
|
134
136
|
sync {
|
135
|
-
reload
|
137
|
+
reload unless config[:reload] == false
|
136
138
|
store_history
|
137
139
|
input(buf.strip)
|
138
140
|
}
|
@@ -246,7 +248,12 @@ module Earthquake
|
|
246
248
|
end
|
247
249
|
|
248
250
|
def error(e)
|
249
|
-
|
251
|
+
case e
|
252
|
+
when Exception
|
253
|
+
insert "[ERROR] #{e.message}\n #{e.backtrace.join("\n ")}".c(:notice)
|
254
|
+
else
|
255
|
+
insert "[ERROR] #{e}".c(:notice)
|
256
|
+
end
|
250
257
|
end
|
251
258
|
|
252
259
|
def notify(message, options = {})
|
data/lib/earthquake/ext.rb
CHANGED
@@ -17,21 +17,6 @@ module Twitter
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
module TwitterOAuth
|
21
|
-
class Client
|
22
|
-
[:get, :post, :delete].each { |m| public m }
|
23
|
-
|
24
|
-
private
|
25
|
-
def consumer
|
26
|
-
@consumer ||= OAuth::Consumer.new(
|
27
|
-
@consumer_key,
|
28
|
-
@consumer_secret,
|
29
|
-
{ :site => 'https://api.twitter.com', :proxy => @proxy }
|
30
|
-
)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
20
|
class String
|
36
21
|
def c(*codes)
|
37
22
|
codes = codes.flatten.map { |code|
|
data/lib/earthquake/input.rb
CHANGED
@@ -63,6 +63,7 @@ module Earthquake
|
|
63
63
|
end
|
64
64
|
end
|
65
65
|
command_names << ":#{options[:as]}" if options[:as]
|
66
|
+
commands.delete_if { |_| _[:pattern] == pattern }
|
66
67
|
commands << {:pattern => pattern, :block => block}
|
67
68
|
else
|
68
69
|
commands.detect {|c| c[:pattern] =~ pattern}
|
@@ -72,9 +73,9 @@ module Earthquake
|
|
72
73
|
def confirm(message, type = config[:confirm_type])
|
73
74
|
s = case type
|
74
75
|
when :y
|
75
|
-
ask(
|
76
|
+
ask(message.u.c(:notice), "[Yn] ")
|
76
77
|
when :n
|
77
|
-
ask(
|
78
|
+
ask(message.u.c(:notice), "[yN] ")
|
78
79
|
else
|
79
80
|
raise "type must be :y or :n"
|
80
81
|
end
|
@@ -86,9 +87,9 @@ module Earthquake
|
|
86
87
|
end
|
87
88
|
end
|
88
89
|
|
89
|
-
def ask(message)
|
90
|
-
|
91
|
-
(
|
90
|
+
def ask(message, prompt)
|
91
|
+
puts message
|
92
|
+
(Readline.readline(prompt) || "").chomp
|
92
93
|
end
|
93
94
|
|
94
95
|
def async_e(&block)
|
@@ -98,7 +99,7 @@ module Earthquake
|
|
98
99
|
def handle_api_error(&block)
|
99
100
|
result = block.call
|
100
101
|
if result["error"]
|
101
|
-
|
102
|
+
error result["error"]
|
102
103
|
end
|
103
104
|
end
|
104
105
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require 'slop'
|
3
|
+
|
4
|
+
module Earthquake
|
5
|
+
class OptionParser
|
6
|
+
Help = Class.new(StandardError)
|
7
|
+
|
8
|
+
def initialize(argv)
|
9
|
+
@argv = argv
|
10
|
+
@slop = setup_slop
|
11
|
+
end
|
12
|
+
|
13
|
+
def parse
|
14
|
+
@slop.parse!(@argv)
|
15
|
+
options = @slop.to_hash
|
16
|
+
raise Help if options.delete(:help)
|
17
|
+
options[:dir] = @argv.shift unless @argv.empty?
|
18
|
+
options
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def setup_slop
|
24
|
+
Slop.new(:strict => true, :help => true).tap do |s|
|
25
|
+
s.banner 'Usage: earthquake [options] [directory]'
|
26
|
+
s.on :d, :debug, 'Enable debug mode'
|
27
|
+
s.on :n, :'no-logo', 'No Logo'
|
28
|
+
s.on :c, :command, 'Invoke a command and exit', :argument => true
|
29
|
+
s.on :'--no-stream', 'No stream mode'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/earthquake/output.rb
CHANGED
@@ -80,7 +80,7 @@ module Earthquake
|
|
80
80
|
:event => 42,
|
81
81
|
:url => [4, 36]
|
82
82
|
)
|
83
|
-
config[:raw_text] ||=
|
83
|
+
config[:raw_text] ||= true
|
84
84
|
|
85
85
|
output :tweet do |item|
|
86
86
|
next unless item["text"]
|
@@ -100,9 +100,14 @@ module Earthquake
|
|
100
100
|
|
101
101
|
id = id2var(item["id"])
|
102
102
|
|
103
|
-
text = (item["retweeted_status"]
|
104
|
-
|
105
|
-
|
103
|
+
text = (item["retweeted_status"] ? "RT @#{item["retweeted_status"]["user"]["screen_name"]}: #{item["retweeted_status"]["text"]}" : item["text"]).u
|
104
|
+
if config[:raw_text] && /\n/ =~ text
|
105
|
+
text.prepend("\n")
|
106
|
+
text.gsub!(/\n/, "\n " + "|".c(:info))
|
107
|
+
text << "\n "
|
108
|
+
else
|
109
|
+
text.gsub!(/\s+/, ' ')
|
110
|
+
end
|
106
111
|
text = text.coloring(/@[0-9A-Za-z_]+/) { |i| color_of(i) }
|
107
112
|
text = text.coloring(/(^#[^\s]+)|(\s+#[^\s]+)/) { |i| color_of(i) }
|
108
113
|
if config[:expand_url]
|
data/lib/earthquake/twitter.rb
CHANGED
@@ -5,7 +5,7 @@ module Earthquake
|
|
5
5
|
end
|
6
6
|
|
7
7
|
init do
|
8
|
-
@twitter = TwitterOAuth::Client.new(config.slice(:consumer_key, :consumer_secret, :token, :secret))
|
8
|
+
@twitter = TwitterOAuth::Client.new(config.slice(:consumer_key, :consumer_secret, :token, :secret, :api_version, :secure))
|
9
9
|
|
10
10
|
output do |item|
|
11
11
|
next if item["text"].nil? || item["_disable_cache"]
|
@@ -31,24 +31,6 @@ module Earthquake
|
|
31
31
|
end
|
32
32
|
alias_method_chain m, :cache
|
33
33
|
end
|
34
|
-
|
35
|
-
def initialize(options = {})
|
36
|
-
@consumer_key = options[:consumer_key]
|
37
|
-
@consumer_secret = options[:consumer_secret]
|
38
|
-
@token = options[:token]
|
39
|
-
@secret = options[:secret]
|
40
|
-
@proxy = ENV['http_proxy']
|
41
|
-
end
|
42
|
-
|
43
|
-
def consumer
|
44
|
-
options = { :site => 'http://api.twitter.com' }
|
45
|
-
options.update( :proxy => @proxy ) if @proxy
|
46
|
-
@consumer ||= OAuth::Consumer.new(
|
47
|
-
@consumer_key,
|
48
|
-
@consumer_secret,
|
49
|
-
options
|
50
|
-
)
|
51
|
-
end
|
52
34
|
end
|
53
35
|
end
|
54
36
|
|
data/lib/earthquake/version.rb
CHANGED
@@ -0,0 +1,78 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'earthquake/option_parser'
|
4
|
+
|
5
|
+
describe Earthquake::OptionParser do
|
6
|
+
describe '#parse' do
|
7
|
+
it 'should return an hash' do
|
8
|
+
options = Earthquake::OptionParser.new([]).parse
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'parses debug option' do
|
12
|
+
%w{-d --debug}.each do |opt|
|
13
|
+
options = Earthquake::OptionParser.new([opt]).parse
|
14
|
+
expect(options[:debug]).to be_true
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'parses no-logo option' do
|
19
|
+
%w{-n --no-logo}.each do |opt|
|
20
|
+
options = Earthquake::OptionParser.new([opt]).parse
|
21
|
+
expect(options[:'no-logo']).to be_true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'parses command option' do
|
26
|
+
%w{-c --command}.each do |opt|
|
27
|
+
command = 'dummy'
|
28
|
+
options = Earthquake::OptionParser.new([opt, command]).parse
|
29
|
+
expect(options[:command]).to eq(command)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'parses no-stream option' do
|
34
|
+
options = Earthquake::OptionParser.new(['--no-stream']).parse
|
35
|
+
expect(options[:'no-stream']).to be_true
|
36
|
+
end
|
37
|
+
|
38
|
+
def with_test_output_stream(out, &block)
|
39
|
+
old_stdout = $stderr
|
40
|
+
$stderr = out
|
41
|
+
yield
|
42
|
+
out.close
|
43
|
+
ensure
|
44
|
+
$stderr = old_stdout
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'parses help option' do
|
48
|
+
old_stderr = $stderr
|
49
|
+
begin
|
50
|
+
$stderr = out = StringIO.new
|
51
|
+
Earthquake::OptionParser.new(['--help']).parse
|
52
|
+
out.close
|
53
|
+
expect(out.string).to match(/^Usage: /)
|
54
|
+
rescue => e
|
55
|
+
# do nothing
|
56
|
+
ensure
|
57
|
+
$stderr = old_stderr
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'raises exception for invalid option' do
|
62
|
+
expect {
|
63
|
+
Earthquake::OptionParser.new(['--foo']).parse
|
64
|
+
}.to raise_exception
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'removes help option' do
|
68
|
+
options= Earthquake::OptionParser.new([]).parse
|
69
|
+
expect(options).to_not be_key(:help)
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'adds rest of arguments as :dir' do
|
73
|
+
dir = 'foo'
|
74
|
+
options= Earthquake::OptionParser.new([dir]).parse
|
75
|
+
expect(options[:dir]).to eq(dir)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,164 +1,144 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: earthquake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- jugyo
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-06-12 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: twitter-stream
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: notify
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: i18n
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: activesupport
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: awesome_print
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - '>='
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - '>='
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: launchy
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - '>='
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :runtime
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - '>='
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: oauth
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - '>='
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :runtime
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - '>='
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '0'
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
|
-
name: twitter_oauth
|
112
|
+
name: jugyo-twitter_oauth
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
115
|
- - '='
|
132
116
|
- !ruby/object:Gem::Version
|
133
|
-
version: 0.
|
117
|
+
version: 0.5.0.pre5
|
134
118
|
type: :runtime
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
122
|
- - '='
|
140
123
|
- !ruby/object:Gem::Version
|
141
|
-
version: 0.
|
124
|
+
version: 0.5.0.pre5
|
142
125
|
- !ruby/object:Gem::Dependency
|
143
126
|
name: slop
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
128
|
requirements:
|
147
129
|
- - ~>
|
148
130
|
- !ruby/object:Gem::Version
|
149
|
-
version:
|
131
|
+
version: 3.4.0
|
150
132
|
type: :runtime
|
151
133
|
prerelease: false
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
135
|
requirements:
|
155
136
|
- - ~>
|
156
137
|
- !ruby/object:Gem::Version
|
157
|
-
version:
|
138
|
+
version: 3.4.0
|
158
139
|
- !ruby/object:Gem::Dependency
|
159
140
|
name: rspec
|
160
141
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
142
|
requirements:
|
163
143
|
- - ~>
|
164
144
|
- !ruby/object:Gem::Version
|
@@ -166,7 +146,6 @@ dependencies:
|
|
166
146
|
type: :development
|
167
147
|
prerelease: false
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
149
|
requirements:
|
171
150
|
- - ~>
|
172
151
|
- !ruby/object:Gem::Version
|
@@ -174,17 +153,15 @@ dependencies:
|
|
174
153
|
- !ruby/object:Gem::Dependency
|
175
154
|
name: bundler
|
176
155
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
156
|
requirements:
|
179
|
-
- -
|
157
|
+
- - '>='
|
180
158
|
- !ruby/object:Gem::Version
|
181
159
|
version: '0'
|
182
160
|
type: :development
|
183
161
|
prerelease: false
|
184
162
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
163
|
requirements:
|
187
|
-
- -
|
164
|
+
- - '>='
|
188
165
|
- !ruby/object:Gem::Version
|
189
166
|
version: '0'
|
190
167
|
description: Twitter Client on Terminal with Twitter Streaming API.
|
@@ -213,37 +190,37 @@ files:
|
|
213
190
|
- lib/earthquake/help.rb
|
214
191
|
- lib/earthquake/id_var.rb
|
215
192
|
- lib/earthquake/input.rb
|
193
|
+
- lib/earthquake/option_parser.rb
|
216
194
|
- lib/earthquake/output.rb
|
217
195
|
- lib/earthquake/twitter.rb
|
218
196
|
- lib/earthquake/version.rb
|
219
|
-
- spec/
|
197
|
+
- spec/earthquake_option_parser_spec.rb
|
220
198
|
- spec/spec_helper.rb
|
221
199
|
- consumer.yml
|
222
200
|
homepage: https://github.com/jugyo/earthquake
|
223
201
|
licenses: []
|
202
|
+
metadata: {}
|
224
203
|
post_install_message:
|
225
204
|
rdoc_options: []
|
226
205
|
require_paths:
|
227
206
|
- lib
|
228
207
|
required_ruby_version: !ruby/object:Gem::Requirement
|
229
|
-
none: false
|
230
208
|
requirements:
|
231
|
-
- -
|
209
|
+
- - '>='
|
232
210
|
- !ruby/object:Gem::Version
|
233
211
|
version: '0'
|
234
212
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
235
|
-
none: false
|
236
213
|
requirements:
|
237
|
-
- -
|
214
|
+
- - '>='
|
238
215
|
- !ruby/object:Gem::Version
|
239
216
|
version: '0'
|
240
217
|
requirements: []
|
241
218
|
rubyforge_project: earthquake
|
242
|
-
rubygems_version:
|
219
|
+
rubygems_version: 2.0.3
|
243
220
|
signing_key:
|
244
|
-
specification_version:
|
221
|
+
specification_version: 4
|
245
222
|
summary: Terminal Twitter Client
|
246
223
|
test_files:
|
247
|
-
- spec/
|
224
|
+
- spec/earthquake_option_parser_spec.rb
|
248
225
|
- spec/spec_helper.rb
|
249
226
|
has_rdoc:
|