earthquake 0.5.6 → 0.5.7
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/Gemfile +1 -0
- data/Gemfile.lock +2 -0
- data/README.md +15 -5
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/bin/earthquake +10 -1
- data/earthquake.gemspec +7 -4
- data/lib/earthquake/commands.rb +151 -144
- data/lib/earthquake/core.rb +3 -3
- data/lib/earthquake/input.rb +20 -5
- metadata +21 -10
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -29,6 +29,7 @@ GEM
|
|
29
29
|
rspec-expectations (2.3.0)
|
30
30
|
diff-lcs (~> 1.1.2)
|
31
31
|
rspec-mocks (2.3.0)
|
32
|
+
slop (1.3.1)
|
32
33
|
twitter-stream (0.1.12)
|
33
34
|
eventmachine (>= 0.12.8)
|
34
35
|
roauth (>= 0.0.2)
|
@@ -50,5 +51,6 @@ DEPENDENCIES
|
|
50
51
|
notify
|
51
52
|
oauth
|
52
53
|
rspec (~> 2.3.0)
|
54
|
+
slop
|
53
55
|
twitter-stream
|
54
56
|
twitter_oauth
|
data/README.md
CHANGED
@@ -19,7 +19,7 @@ Features
|
|
19
19
|
Install
|
20
20
|
----
|
21
21
|
|
22
|
-
gem install earthquake
|
22
|
+
$ gem install earthquake
|
23
23
|
|
24
24
|
Usage
|
25
25
|
----
|
@@ -91,18 +91,27 @@ And there are more commands!
|
|
91
91
|
Configuration
|
92
92
|
----
|
93
93
|
|
94
|
+
The default earthquake director is ~/.earthquake.
|
95
|
+
|
94
96
|
The config file is **~/.earthquake/config**.
|
95
97
|
|
98
|
+
### Changing the earthquake directory
|
99
|
+
|
100
|
+
You can change the directory at launch as below:
|
101
|
+
|
102
|
+
$ earthquake ~/.earthquake_foo
|
103
|
+
|
96
104
|
### Changing the colors
|
97
105
|
|
106
|
+
# ~/.earthquake/config
|
98
107
|
Earthquake.config[:colors] = (31..36).to_a - [34]
|
99
108
|
|
100
|
-
|
109
|
+
Blue is excluded.
|
101
110
|
|
102
|
-
Desktop
|
111
|
+
Desktop Notifications
|
103
112
|
----
|
104
113
|
|
105
|
-
To enable desktop
|
114
|
+
To enable desktop notifications, install one of the following:
|
106
115
|
|
107
116
|
* ruby-growl (gem install ruby-growl)
|
108
117
|
* growlnotify (http://growl.info/extras.php#growlnotify)
|
@@ -199,7 +208,8 @@ The 'm' is a MatchData.
|
|
199
208
|
TODO
|
200
209
|
----
|
201
210
|
|
202
|
-
*
|
211
|
+
* ssl for twitter_oauth
|
212
|
+
* deal proxy
|
203
213
|
* spec
|
204
214
|
|
205
215
|
Copyright
|
data/Rakefile
CHANGED
@@ -24,8 +24,8 @@ Jeweler::Tasks.new do |gem|
|
|
24
24
|
# gem.add_runtime_dependency 'jabber4r', '> 0.1'
|
25
25
|
# gem.add_development_dependency 'rspec', '> 1.2.3'
|
26
26
|
gem.post_install_message = %{
|
27
|
-
The
|
28
|
-
Accordingly
|
27
|
+
The Twitter Client application info has been updated at 2011-03-20 15:00:00 UTC.
|
28
|
+
Accordingly, you should renew the access token if it is old.
|
29
29
|
|
30
30
|
1) In ~/.earthquake/config, remove these lines:
|
31
31
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.7
|
data/bin/earthquake
CHANGED
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
require 'slop'
|
3
|
+
opts = Slop.parse! :help => true do
|
4
|
+
banner "Usage: earthquake [options] [directory]"
|
5
|
+
on :d, :debug, 'Enable debug mode'
|
6
|
+
end
|
7
|
+
options = opts.to_hash(true)
|
8
|
+
options.delete(:help)
|
9
|
+
options[:dir] = ARGV.shift unless ARGV.empty?
|
10
|
+
|
2
11
|
$:.unshift(File.expand_path('../../lib', __FILE__)) if $0 == __FILE__
|
3
12
|
require 'earthquake'
|
4
|
-
Earthquake.start(
|
13
|
+
Earthquake.start(options)
|
data/earthquake.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{earthquake}
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.7"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["jugyo"]
|
12
|
-
s.date = %q{2011-03-
|
12
|
+
s.date = %q{2011-03-31}
|
13
13
|
s.default_executable = %q{earthquake}
|
14
14
|
s.description = %q{Twitter Client on Terminal with Twitter Streaming API.}
|
15
15
|
s.email = %q{jugyo.org@gmail.com}
|
@@ -45,8 +45,8 @@ Gem::Specification.new do |s|
|
|
45
45
|
s.homepage = %q{http://github.com/jugyo/earthquake}
|
46
46
|
s.licenses = ["MIT"]
|
47
47
|
s.post_install_message = %q{
|
48
|
-
The
|
49
|
-
Accordingly
|
48
|
+
The Twitter Client application info has been updated at 2011-03-20 15:00:00 UTC.
|
49
|
+
Accordingly, you should renew the access token if it is old.
|
50
50
|
|
51
51
|
1) In ~/.earthquake/config, remove these lines:
|
52
52
|
|
@@ -79,6 +79,7 @@ Accordingly that, You should renew the access token if it is old.
|
|
79
79
|
s.add_runtime_dependency(%q<launchy>, [">= 0"])
|
80
80
|
s.add_runtime_dependency(%q<oauth>, [">= 0"])
|
81
81
|
s.add_runtime_dependency(%q<twitter_oauth>, [">= 0"])
|
82
|
+
s.add_runtime_dependency(%q<slop>, [">= 0"])
|
82
83
|
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
|
83
84
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
84
85
|
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
@@ -91,6 +92,7 @@ Accordingly that, You should renew the access token if it is old.
|
|
91
92
|
s.add_dependency(%q<launchy>, [">= 0"])
|
92
93
|
s.add_dependency(%q<oauth>, [">= 0"])
|
93
94
|
s.add_dependency(%q<twitter_oauth>, [">= 0"])
|
95
|
+
s.add_dependency(%q<slop>, [">= 0"])
|
94
96
|
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
95
97
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
96
98
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
@@ -104,6 +106,7 @@ Accordingly that, You should renew the access token if it is old.
|
|
104
106
|
s.add_dependency(%q<launchy>, [">= 0"])
|
105
107
|
s.add_dependency(%q<oauth>, [">= 0"])
|
106
108
|
s.add_dependency(%q<twitter_oauth>, [">= 0"])
|
109
|
+
s.add_dependency(%q<slop>, [">= 0"])
|
107
110
|
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
108
111
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
109
112
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
data/lib/earthquake/commands.rb
CHANGED
@@ -1,190 +1,197 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
end
|
2
|
+
Earthquake.init do
|
3
|
+
command :exit do
|
4
|
+
stop
|
5
|
+
end
|
7
6
|
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
command :help do
|
8
|
+
system 'less', File.expand_path('../../../README.md', __FILE__)
|
9
|
+
end
|
11
10
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
11
|
+
command :restart do
|
12
|
+
puts 'restarting...'
|
13
|
+
stop
|
14
|
+
exec File.expand_path('../../../bin/earthquake', __FILE__)
|
15
|
+
end
|
17
16
|
|
18
|
-
|
19
|
-
|
20
|
-
|
17
|
+
command :eval do |m|
|
18
|
+
ap eval(m[1])
|
19
|
+
end
|
21
20
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
end
|
21
|
+
command :update do |m|
|
22
|
+
async { twitter.update(m[1]) } if confirm("update '#{m[1]}'")
|
23
|
+
end
|
26
24
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
screen_name = target["user"]["screen_name"]
|
31
|
-
text = "@#{screen_name} #{m[2]}"
|
32
|
-
if confirm(["'@#{screen_name}: #{target["text"].u}'", "reply '#{text}'"].join("\n"))
|
33
|
-
async { twitter.update(text, :in_reply_to_status_id => in_reply_to_status_id) }
|
34
|
-
end
|
35
|
-
end
|
25
|
+
command %r|^[^:\$].*| do |m|
|
26
|
+
input(":update #{m[0]}")
|
27
|
+
end
|
36
28
|
|
37
|
-
|
38
|
-
|
39
|
-
|
29
|
+
command %r|^:reply (\d+)\s+(.*)|, :as => :reply do |m|
|
30
|
+
in_reply_to_status_id = m[1]
|
31
|
+
target = twitter.status(in_reply_to_status_id)
|
32
|
+
screen_name = target["user"]["screen_name"]
|
33
|
+
text = "@#{screen_name} #{m[2]}"
|
34
|
+
if confirm(["'@#{screen_name}: #{target["text"]}'", "reply '#{text}'"].join("\n"))
|
35
|
+
async { twitter.update(text, :in_reply_to_status_id => in_reply_to_status_id) }
|
40
36
|
end
|
37
|
+
end
|
41
38
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
39
|
+
# $xx hi!
|
40
|
+
command %r|^(\$[^\s]+)\s+(.*)$| do |m|
|
41
|
+
input(":reply #{m[1..2].join(' ')}")
|
42
|
+
end
|
46
43
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
44
|
+
command :status do |m|
|
45
|
+
# TODO: show reply to statuses
|
46
|
+
puts_items twitter.status(m[1]).tap { |s| s["_detail"] = true }
|
47
|
+
end
|
51
48
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
49
|
+
# $xx
|
50
|
+
command %r|^(\$[^\s]+)$| do |m|
|
51
|
+
input(":status #{m[1]}")
|
52
|
+
end
|
56
53
|
|
57
|
-
|
58
|
-
|
59
|
-
|
54
|
+
command :delete do |m|
|
55
|
+
tweet = twitter.status(m[1])
|
56
|
+
async { twitter.status_destroy(m[1]) } if confirm("delete '#{tweet["text"]}'")
|
57
|
+
end
|
60
58
|
|
61
|
-
|
62
|
-
|
63
|
-
|
59
|
+
command :mentions do
|
60
|
+
puts_items twitter.mentions
|
61
|
+
end
|
64
62
|
|
65
|
-
|
66
|
-
|
67
|
-
|
63
|
+
command :follow do |m|
|
64
|
+
async { twitter.friend(m[1]) }
|
65
|
+
end
|
68
66
|
|
69
|
-
|
70
|
-
|
71
|
-
|
67
|
+
command :unfollow do |m|
|
68
|
+
async { twitter.unfriend(m[1]) }
|
69
|
+
end
|
72
70
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
end
|
71
|
+
command :recent do
|
72
|
+
puts_items twitter.home_timeline
|
73
|
+
end
|
77
74
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
75
|
+
# :recent jugyo
|
76
|
+
command %r|^:recent\s+([^\/\s]+)$|, :as => :recent do |m|
|
77
|
+
puts_items twitter.user_timeline(:screen_name => m[1])
|
78
|
+
end
|
82
79
|
|
83
|
-
|
84
|
-
|
85
|
-
|
80
|
+
# :recent yugui/ruby-committers
|
81
|
+
command %r|^:recent\s+([^\s]+)\/([^\s]+)$|, :as => :recent do |m|
|
82
|
+
puts_items twitter.list_statuses(m[1], m[2])
|
83
|
+
end
|
84
|
+
|
85
|
+
command :user do |m|
|
86
|
+
ap twitter.show(m[1]).slice(*%w(id screen_name name profile_image_url description url location time_zone lang protected))
|
87
|
+
end
|
86
88
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
}
|
99
|
-
s["_highlights"] = words
|
89
|
+
command :search do |m|
|
90
|
+
puts_items twitter.search(m[1])["results"].each { |s|
|
91
|
+
s["user"] = {"screen_name" => s["from_user"]}
|
92
|
+
s["_disable_cache"] = true
|
93
|
+
words = m[1].split(/\s+/).reject{|x| x[0] =~ /^-|^(OR|AND)$/ }.map{|x|
|
94
|
+
case x
|
95
|
+
when /^from:(.+)/, /^to:(.+)/
|
96
|
+
$1
|
97
|
+
else
|
98
|
+
x
|
99
|
+
end
|
100
100
|
}
|
101
|
-
|
101
|
+
s["_highlights"] = words
|
102
|
+
}
|
103
|
+
end
|
102
104
|
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
end
|
105
|
+
command %r|^:retweet\s+(\d+)$|, :as => :retweet do |m|
|
106
|
+
target = twitter.status(m[1])
|
107
|
+
if confirm("retweet 'RT @#{target["user"]["screen_name"]}: #{target["text"]}'")
|
108
|
+
async { twitter.retweet(m[1]) }
|
108
109
|
end
|
110
|
+
end
|
109
111
|
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
end
|
112
|
+
command %r|^:retweet\s+(\d+)\s+(.*)$|, :as => :retweet do |m|
|
113
|
+
target = twitter.status(m[1])
|
114
|
+
text = "#{m[2]} RT @#{target["user"]["screen_name"]}: #{target["text"]} (#{target["id"]})"
|
115
|
+
if confirm("unofficial retweet '#{text}'")
|
116
|
+
async { twitter.update(text) }
|
116
117
|
end
|
118
|
+
end
|
117
119
|
|
118
|
-
|
120
|
+
command :favorite do |m|
|
121
|
+
tweet = twitter.status(m[1])
|
122
|
+
if confirm("favorite '#{tweet["user"]["screen_name"]}: #{tweet["text"]}'")
|
119
123
|
async { twitter.favorite(m[1]) }
|
120
124
|
end
|
125
|
+
end
|
121
126
|
|
122
|
-
|
127
|
+
command :unfavorite do |m|
|
128
|
+
tweet = twitter.status(m[1])
|
129
|
+
if confirm("unfavorite '#{tweet["user"]["screen_name"]}: #{tweet["text"]}'")
|
123
130
|
async { twitter.unfavorite(m[1]) }
|
124
131
|
end
|
132
|
+
end
|
125
133
|
|
126
|
-
|
127
|
-
|
128
|
-
|
134
|
+
command :retweeted_by_me do
|
135
|
+
puts_items twitter.retweeted_by_me
|
136
|
+
end
|
129
137
|
|
130
|
-
|
131
|
-
|
132
|
-
|
138
|
+
command :retweeted_to_me do
|
139
|
+
puts_items twitter.retweeted_to_me
|
140
|
+
end
|
133
141
|
|
134
|
-
|
135
|
-
|
136
|
-
|
142
|
+
command :retweets_of_me do
|
143
|
+
puts_items twitter.retweets_of_me
|
144
|
+
end
|
137
145
|
|
138
|
-
|
139
|
-
|
140
|
-
|
146
|
+
command :block do |m|
|
147
|
+
async { twitter.block(m[1]) }
|
148
|
+
end
|
141
149
|
|
142
|
-
|
143
|
-
|
144
|
-
|
150
|
+
command :unblock do |m|
|
151
|
+
async { twitter.unblock(m[1]) }
|
152
|
+
end
|
145
153
|
|
146
|
-
|
147
|
-
|
148
|
-
|
154
|
+
command :report_spam do |m|
|
155
|
+
async { twitter.report_spam(m[1]) }
|
156
|
+
end
|
149
157
|
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
158
|
+
command :messages do
|
159
|
+
puts_items twitter.messages.each { |s|
|
160
|
+
s["user"] = {"screen_name" => s["sender_screen_name"]}
|
161
|
+
s["_disable_cache"] = true
|
162
|
+
}
|
163
|
+
end
|
156
164
|
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
165
|
+
command :sent_messages do
|
166
|
+
puts_items twitter.sent_messages.each { |s|
|
167
|
+
s["user"] = {"screen_name" => s["sender_screen_name"]}
|
168
|
+
s["_disable_cache"] = true
|
169
|
+
}
|
170
|
+
end
|
163
171
|
|
164
|
-
|
165
|
-
|
166
|
-
|
172
|
+
command %r|^:message (\w+)\s+(.*)|, :as => :message do |m|
|
173
|
+
async { twitter.message(*m[1, 2]) } if confirm("message '#{m[2]}' to @#{m[1]}")
|
174
|
+
end
|
167
175
|
|
168
|
-
|
169
|
-
|
170
|
-
|
176
|
+
command :reconnect do
|
177
|
+
reconnect
|
178
|
+
end
|
171
179
|
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
end
|
177
|
-
puts_items thread.reverse_each.with_index{|tweet, indent|
|
178
|
-
tweet["_mark"] = " " * indent
|
179
|
-
}
|
180
|
+
command :thread do |m|
|
181
|
+
thread = [twitter.status(m[1])]
|
182
|
+
while reply = thread.last["in_reply_to_status_id"]
|
183
|
+
thread << twitter.status(reply)
|
180
184
|
end
|
185
|
+
puts_items thread.reverse_each.with_index{|tweet, indent|
|
186
|
+
tweet["_mark"] = " " * indent
|
187
|
+
}
|
188
|
+
end
|
181
189
|
|
182
|
-
|
183
|
-
|
184
|
-
|
190
|
+
command :sh do
|
191
|
+
system ENV["SHELL"] || 'sh'
|
192
|
+
end
|
185
193
|
|
186
|
-
|
187
|
-
|
188
|
-
end
|
194
|
+
command :'!' do |m|
|
195
|
+
system m[1]
|
189
196
|
end
|
190
197
|
end
|
data/lib/earthquake/core.rb
CHANGED
@@ -47,8 +47,7 @@ module Earthquake
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def load_config
|
50
|
-
|
51
|
-
config[:dir] ||= File.expand_path(ARGV[0] || '~/.earthquake')
|
50
|
+
config[:dir] ||= File.expand_path('~/.earthquake')
|
52
51
|
config[:time_format] ||= Time::DATE_FORMATS[:short]
|
53
52
|
config[:plugin_dir] ||= File.join(config[:dir], 'plugin')
|
54
53
|
config[:file] ||= File.join(config[:dir], 'config')
|
@@ -80,7 +79,8 @@ module Earthquake
|
|
80
79
|
end
|
81
80
|
end
|
82
81
|
|
83
|
-
def start(
|
82
|
+
def start(options = {})
|
83
|
+
config.merge!(options)
|
84
84
|
_init
|
85
85
|
_once
|
86
86
|
restore_history
|
data/lib/earthquake/input.rb
CHANGED
@@ -3,6 +3,14 @@ require 'set'
|
|
3
3
|
|
4
4
|
module Earthquake
|
5
5
|
module Input
|
6
|
+
def input_filters
|
7
|
+
@input_filters ||= []
|
8
|
+
end
|
9
|
+
|
10
|
+
def input_filter(&block)
|
11
|
+
input_filters << block
|
12
|
+
end
|
13
|
+
|
6
14
|
def commands
|
7
15
|
@commands ||= []
|
8
16
|
end
|
@@ -29,9 +37,7 @@ module Earthquake
|
|
29
37
|
return if text.empty?
|
30
38
|
|
31
39
|
begin
|
32
|
-
text =
|
33
|
-
var2id(var) || var
|
34
|
-
end if text =~ %r|^:|
|
40
|
+
input_filters.each { |f| text = f.call(text) }
|
35
41
|
|
36
42
|
if command = command(text)
|
37
43
|
command[:block].call(command[:pattern].match(text))
|
@@ -66,10 +72,10 @@ module Earthquake
|
|
66
72
|
def confirm(message, type = :y)
|
67
73
|
case type
|
68
74
|
when :y
|
69
|
-
print "#{message} [Yn] "
|
75
|
+
print "#{message} [Yn] ".u
|
70
76
|
return !(gets.strip =~ /^n$/i)
|
71
77
|
when :n
|
72
|
-
print "#{message} [yN] "
|
78
|
+
print "#{message} [yN] ".u
|
73
79
|
return !!(gets.strip =~ /^y$/i)
|
74
80
|
else
|
75
81
|
raise "type must be :y or :n"
|
@@ -81,6 +87,7 @@ module Earthquake
|
|
81
87
|
commands.clear
|
82
88
|
command_names.clear
|
83
89
|
completions.clear
|
90
|
+
input_filters.clear
|
84
91
|
|
85
92
|
Readline.basic_word_break_characters = " \t\n\"\\'`$><=;|&{(@"
|
86
93
|
|
@@ -106,6 +113,14 @@ module Earthquake
|
|
106
113
|
|
107
114
|
results
|
108
115
|
end
|
116
|
+
|
117
|
+
input_filter do |text|
|
118
|
+
if text =~ %r|^:|
|
119
|
+
text.gsub(/\$\w+/) { |var| var2id(var) || var }
|
120
|
+
else
|
121
|
+
text
|
122
|
+
end
|
123
|
+
end
|
109
124
|
end
|
110
125
|
|
111
126
|
extend Input
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: earthquake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.5.
|
5
|
+
version: 0.5.7
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- jugyo
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-03-
|
13
|
+
date: 2011-03-31 00:00:00 +09:00
|
14
14
|
default_executable: earthquake
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -102,8 +102,19 @@ dependencies:
|
|
102
102
|
prerelease: false
|
103
103
|
version_requirements: *id008
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
|
-
name:
|
105
|
+
name: slop
|
106
106
|
requirement: &id009 !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: "0"
|
112
|
+
type: :runtime
|
113
|
+
prerelease: false
|
114
|
+
version_requirements: *id009
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: rspec
|
117
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
107
118
|
none: false
|
108
119
|
requirements:
|
109
120
|
- - ~>
|
@@ -111,10 +122,10 @@ dependencies:
|
|
111
122
|
version: 2.3.0
|
112
123
|
type: :development
|
113
124
|
prerelease: false
|
114
|
-
version_requirements: *
|
125
|
+
version_requirements: *id010
|
115
126
|
- !ruby/object:Gem::Dependency
|
116
127
|
name: bundler
|
117
|
-
requirement: &
|
128
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
118
129
|
none: false
|
119
130
|
requirements:
|
120
131
|
- - ~>
|
@@ -122,10 +133,10 @@ dependencies:
|
|
122
133
|
version: 1.0.0
|
123
134
|
type: :development
|
124
135
|
prerelease: false
|
125
|
-
version_requirements: *
|
136
|
+
version_requirements: *id011
|
126
137
|
- !ruby/object:Gem::Dependency
|
127
138
|
name: jeweler
|
128
|
-
requirement: &
|
139
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
129
140
|
none: false
|
130
141
|
requirements:
|
131
142
|
- - ~>
|
@@ -133,7 +144,7 @@ dependencies:
|
|
133
144
|
version: 1.5.2
|
134
145
|
type: :development
|
135
146
|
prerelease: false
|
136
|
-
version_requirements: *
|
147
|
+
version_requirements: *id012
|
137
148
|
description: Twitter Client on Terminal with Twitter Streaming API.
|
138
149
|
email: jugyo.org@gmail.com
|
139
150
|
executables:
|
@@ -171,8 +182,8 @@ homepage: http://github.com/jugyo/earthquake
|
|
171
182
|
licenses:
|
172
183
|
- MIT
|
173
184
|
post_install_message: "\n\
|
174
|
-
The
|
175
|
-
Accordingly
|
185
|
+
The Twitter Client application info has been updated at 2011-03-20 15:00:00 UTC.\n\
|
186
|
+
Accordingly, you should renew the access token if it is old.\n\n\
|
176
187
|
1) In ~/.earthquake/config, remove these lines:\n\n Earthquake.config[:token] = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n Earthquake.config[:secret] = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n\n\
|
177
188
|
2) Launch earthquake:\n\n $ earthquake\n\n"
|
178
189
|
rdoc_options: []
|