earthquake 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.5
1
+ 0.5.6
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.5"
8
+ s.version = "0.5.6"
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-30}
12
+ s.date = %q{2011-03-28}
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}
@@ -60,7 +60,7 @@ Accordingly that, You should renew the access token if it is old.
60
60
  }
61
61
  s.require_paths = ["lib"]
62
62
  s.required_ruby_version = Gem::Requirement.new(">= 1.9.1")
63
- s.rubygems_version = %q{1.6.2}
63
+ s.rubygems_version = %q{1.6.0}
64
64
  s.summary = %q{Twitter Client on Terminal.}
65
65
  s.test_files = [
66
66
  "spec/earthquake_spec.rb",
@@ -170,15 +170,13 @@ module Earthquake
170
170
  end
171
171
 
172
172
  command :thread do |m|
173
- indent = 0
174
- tweet = twitter.status(m[1])
175
- puts_items tweet
176
- while tweet["in_reply_to_status_id"]
177
- indent += 1
178
- tweet = twitter.status(tweet["in_reply_to_status_id"])
179
- tweet["_mark"] = " " * indent
180
- puts_items tweet
173
+ thread = [twitter.status(m[1])]
174
+ while reply = thread.last["in_reply_to_status_id"]
175
+ thread << twitter.status(reply)
181
176
  end
177
+ puts_items thread.reverse_each.with_index{|tweet, indent|
178
+ tweet["_mark"] = " " * indent
179
+ }
182
180
  end
183
181
 
184
182
  command :sh do
@@ -48,12 +48,12 @@ module Earthquake
48
48
 
49
49
  def load_config
50
50
  # TODO: parse argv
51
- config.merge!(
52
- :dir => File.expand_path('~/.earthquake'),
53
- :plugin_dir => File.expand_path('~/.earthquake/plugin'),
54
- :consumer_key => 'RmzuwQ5g0SYObMfebIKJag',
55
- :consumer_secret => 'V98dYYmWm9JoG7qfOF0jhJaVEVW3QhGYcDJ9JQSXU'
56
- )
51
+ config[:dir] ||= File.expand_path(ARGV[0] || '~/.earthquake')
52
+ config[:time_format] ||= Time::DATE_FORMATS[:short]
53
+ config[:plugin_dir] ||= File.join(config[:dir], 'plugin')
54
+ config[:file] ||= File.join(config[:dir], 'config')
55
+ config[:consumer_key] ||= 'RmzuwQ5g0SYObMfebIKJag'
56
+ config[:consumer_secret] ||= 'V98dYYmWm9JoG7qfOF0jhJaVEVW3QhGYcDJ9JQSXU'
57
57
 
58
58
  [config[:dir], config[:plugin_dir]].each do |dir|
59
59
  unless File.exists?(dir)
@@ -61,14 +61,12 @@ module Earthquake
61
61
  end
62
62
  end
63
63
 
64
- config[:file] ||= File.join(config[:dir], 'config')
65
-
66
- unless File.exists?(config[:file])
64
+ if File.exists?(config[:file])
65
+ load config[:file]
66
+ else
67
67
  File.open(config[:file], 'w')
68
68
  end
69
69
 
70
- load config[:file]
71
-
72
70
  get_access_token unless self.config[:token] && self.config[:secret]
73
71
  end
74
72
 
@@ -83,8 +81,8 @@ module Earthquake
83
81
  end
84
82
 
85
83
  def start(*argv)
86
- _once
87
84
  _init
85
+ _once
88
86
  restore_history
89
87
 
90
88
  EventMachine::run do
@@ -154,7 +152,6 @@ module Earthquake
154
152
  def stop
155
153
  stop_stream
156
154
  EventMachine.stop_event_loop
157
- store_history
158
155
  end
159
156
 
160
157
  def store_history
@@ -191,8 +188,10 @@ module Earthquake
191
188
  end
192
189
 
193
190
  def notify(message, options = {:title => 'earthquake'})
191
+ message = message.is_a?(String) ? message : message.inspect
194
192
  Notify.notify options[:title], message
195
193
  end
194
+ alias_method :n, :notify
196
195
  end
197
196
 
198
197
  extend Core
@@ -12,7 +12,7 @@ module Earthquake
12
12
  Launchy::Browser.run(request_token.authorize_url)
13
13
 
14
14
  print "2) Enter the PIN: "
15
- pin = gets.strip
15
+ pin = STDIN.gets.strip
16
16
 
17
17
  access_token = request_token.get_access_token(:oauth_verifier => pin)
18
18
  config[:token] = access_token.token
@@ -26,6 +26,8 @@ module Earthquake
26
26
  error e
27
27
  end
28
28
 
29
+ return if text.empty?
30
+
29
31
  begin
30
32
  text = text.gsub(/\$\w+/) do |var|
31
33
  var2id(var) || var
@@ -36,6 +38,8 @@ module Earthquake
36
38
  elsif !text.empty?
37
39
  puts "Command not found".c(43)
38
40
  end
41
+
42
+ store_history
39
43
  rescue Exception => e
40
44
  error e
41
45
  end
@@ -98,9 +102,7 @@ module Earthquake
98
102
  results += command_names.grep(regexp)
99
103
 
100
104
  range = Readline::HISTORY.count >= 100 ? -100..-1 : 0..-1
101
- results += Readline::HISTORY.to_a[range].map { |line|
102
- line.gsub(/^\s*:\w/, '').split(/\s+/)
103
- }.flatten.grep(regexp)
105
+ results += Readline::HISTORY.to_a[range].map { |line| line.split(/\s+/) }.flatten.grep(regexp)
104
106
 
105
107
  results
106
108
  end
@@ -76,8 +76,7 @@ module Earthquake
76
76
  elsif item["retweeted_status"]
77
77
  info << "(retweet of #{id2var(item["retweeted_status"]["id"])})"
78
78
  end
79
- # NOTE: customizing time format: Time::DATE_FORMATS[:short] = '%m/%d/%y %H:%M %p'
80
- info << Time.parse(item["created_at"]).to_s(:short)
79
+ info << Time.parse(item["created_at"]).strftime(config[:time_format])
81
80
  if item["_detail"] && item["source"]
82
81
  info << (item["source"].u =~ />(.*)</ ? $1 : 'web')
83
82
  end
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
5
+ version: 0.5.6
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-30 00:00:00 +09:00
13
+ date: 2011-03-28 00:00:00 +09:00
14
14
  default_executable: earthquake
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -194,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
194
  requirements: []
195
195
 
196
196
  rubyforge_project:
197
- rubygems_version: 1.6.2
197
+ rubygems_version: 1.6.0
198
198
  signing_key:
199
199
  specification_version: 3
200
200
  summary: Twitter Client on Terminal.