earthquake 0.9.4 → 1.0.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.
@@ -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
@@ -1,33 +1,19 @@
1
1
  #!/usr/bin/env ruby
2
- require 'slop'
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
- argv = ARGV.dup
5
- slop = Slop.new(:strict => true, :help => true)
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
- slop.parse!(argv)
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')
@@ -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.4.3"
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
 
@@ -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(id screen_name name profile_image_url description url location time_zone lang protected))
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)["results"].each { |s|
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 = URI.extract(twitter.status(m[1])["text"],["http", "https"])
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
@@ -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
- puts "[ERROR] #{e.message}\n #{e.backtrace.join("\n ")}".c(:notice)
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 = {})
@@ -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|
@@ -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("#{message} [Yn] ".u)
76
+ ask(message.u.c(:notice), "[Yn] ")
76
77
  when :n
77
- ask("#{message} [yN] ".u)
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
- print message
91
- (STDIN.gets || "").chomp
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
- notify "[ERROR] #{result["error"]}"
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
@@ -80,7 +80,7 @@ module Earthquake
80
80
  :event => 42,
81
81
  :url => [4, 36]
82
82
  )
83
- config[:raw_text] ||= false
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"] && item["truncated"] ? "RT @#{item["retweeted_status"]["user"]["screen_name"]}: #{item["retweeted_status"]["text"]}" : item["text"]).u
104
- text.gsub!(/\s+/, ' ') unless config[:raw_text]
105
- text.prepend("\n") if config[:raw_text]
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]
@@ -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
 
@@ -1,3 +1,3 @@
1
1
  module Earthquake
2
- VERSION = '0.9.4'
2
+ VERSION = '1.0.0'
3
3
  end
@@ -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
@@ -1,5 +1,11 @@
1
- require 'rspec'
1
+ # encoding: UTF-8
2
+ require 'rubygems'
3
+
4
+ require 'bundler'
5
+ Bundler.require
6
+
7
+ $: << File.expand_path('../../lib', __FILE__)
2
8
  require 'earthquake'
3
9
 
4
10
  RSpec.configure do |config|
5
- end
11
+ end
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.9.4
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: 2012-08-07 00:00:00.000000000 Z
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.4.3
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.4.3
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: '3.0'
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: '3.0'
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/earthquake_spec.rb
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: 1.8.23
219
+ rubygems_version: 2.0.3
243
220
  signing_key:
244
- specification_version: 3
221
+ specification_version: 4
245
222
  summary: Terminal Twitter Client
246
223
  test_files:
247
- - spec/earthquake_spec.rb
224
+ - spec/earthquake_option_parser_spec.rb
248
225
  - spec/spec_helper.rb
249
226
  has_rdoc:
@@ -1,7 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "Earthquake" do
4
- it "fails" do
5
- fail "hey buddy, you should probably rename this file and start specing for real"
6
- end
7
- end