termtter 2.2.1 → 2.2.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5de3d65ab24659675cda8734741447b3cd198a28
4
- data.tar.gz: 7128dc6441e6fe09f5b4b53f477ee563476bf94f
3
+ metadata.gz: 47109373f39797dc79ef16623fae5412b2edf692
4
+ data.tar.gz: 208d6c0924fed76cad20f68174cca37ff4612aea
5
5
  SHA512:
6
- metadata.gz: 16bf26f2e015ad2010c109a4438412553b7d9e947e3931f925ee0872442a31588de478cf38fa47ccee559363ff7b5e7a69c0d004153c5793ec0c7bfaeb764ffc
7
- data.tar.gz: 996433e58598aae53bb96f8043a5ab1c548336faa9b4e05177c754477a8c182a18e903e7e6d71b106c9fc2f012db4d8934079a9f45e202b5ab9e42fd5cf550a0
6
+ metadata.gz: dd84b33c702b44a1192c5d7045cb5d8b45ab93dd5c03155590fd6bafeceaaf09295c683be90e8f10c81d90bfc72fd7bf2092190df61427907539d8ac8635553c
7
+ data.tar.gz: a59bf708e6403d198d8fadd463dc5bab21feef91d666382b6390d80e30d295b49a3721620939873ef76f5c41715f4e761551ba5f3ef2788433e4d12484528eb1
data/ChangeLog CHANGED
@@ -1,3 +1,10 @@
1
+ == 2.2.2 / 2013-09-04
2
+
3
+ * Add plugins fluentd, ar-single.
4
+
5
+ * Fix some test cases.
6
+
7
+
1
8
  == 2.2.1 / 2013-05-20
2
9
 
3
10
  * Fix package problem (termtter requires termtter).
data/Gemfile CHANGED
@@ -2,11 +2,14 @@
2
2
  source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
- gem 'json', '> 1.1.3'
6
- gem 'highline', '~> 1.5.0'
5
+ gem 'json', '>= 1.1.3'
6
+ gem 'highline', '>= 1.5.0'
7
7
  gem 'termcolor', '~> 1.0.0'
8
8
  gem 'rubytter', '~> 1.5.1'
9
- gem 'notify', '~> 0.5.1'
9
+ gem 'notify', '>= 0.5.1'
10
+ gem 'activerecord', '~> 4.0.0'
11
+ gem 'builder', '>= 3.0.4'
12
+ gem 'fluent-logger', '>= 0.4.6'
10
13
 
11
14
  group :test do
12
15
  gem 'rake'
data/README.rdoc CHANGED
@@ -8,6 +8,12 @@ For more information, see http://termtter.github.com/ and http://lingr.com/room/
8
8
 
9
9
  $ sudo emerge termtter
10
10
 
11
+ This will install very old version of termtter. Just use ujihisa-overlay instead to install latest version of termtter.
12
+
13
+ https://github.com/ujihisa/overlay/tree/master/net-misc/termtter
14
+
15
+ This will install termtter 2.2.1 for ruby 2.0.0.
16
+
11
17
  == INSTALL (for Mac OS X with XCode):
12
18
 
13
19
  $ gem install termtter
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.2.1
1
+ 2.2.2
@@ -0,0 +1,84 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'active_record'
3
+ config.plugins.db.set_default(:path, Termtter::CONF_DIR + '/termtter.db')
4
+
5
+ ActiveRecord::Base.logger=Logger.new(nil)
6
+ ActiveRecord::Base.establish_connection(
7
+ :adapter => "sqlite3",
8
+ :database => config.plugins.db.path
9
+ )
10
+
11
+ class Status < ActiveRecord::Base
12
+ end
13
+
14
+ unless Status.table_exists?()
15
+ ActiveRecord::Migration.create_table :statuses do |t|
16
+ t.column :uid, :integer
17
+ t.column :screen_name, :string
18
+ t.column :id_str, :string
19
+ t.column :text, :string
20
+ t.column :created_at, :datetime
21
+ t.column :protected, :boolean
22
+ t.column :in_reply_to_status_id, :integer
23
+ t.column :in_reply_to_user_id, :integer
24
+ t.column :in_reply_to_screen_name, :string
25
+ t.column :statuses_count, :integer
26
+ t.column :friends_count, :integer
27
+ t.column :followers_count, :integer
28
+ t.column :source, :string
29
+ end
30
+ end
31
+
32
+ module Termtter
33
+ module Client
34
+ register_hook(:collect_statuses_for_db, :point => :pre_filter) do |statuses, event|
35
+ statuses.each do |s|
36
+ unless Status.exists?(s.id)
37
+ status = {}
38
+ Status.columns.map{|x| x.name.intern }.each do |col|
39
+ status[col] =
40
+ if col == :uid
41
+ s.user.id
42
+ elsif col == :screen_name || col == :statuses_count || col == :friends_count || col == :followers_count || col == :protected
43
+ s.user[col]
44
+ else
45
+ s[col]
46
+ end
47
+ end
48
+ Status.create(status)
49
+ end
50
+ end
51
+ end
52
+
53
+ register_command(:db_search, :alias => :ds) do |arg|
54
+ statuses = Status.find(
55
+ :all,
56
+ :conditions => [
57
+ 'text LIKE :l',
58
+ {:l => "%" + arg + "%"}],
59
+ :limit => 20)
60
+ output(statuses, :db_search)
61
+ end
62
+
63
+ register_command(:db_clear) do |arg|
64
+ if confirm('Are you sure?')
65
+ Status.delete_all
66
+ end
67
+ end
68
+
69
+ register_command(:db_list) do |arg|
70
+ user_name = normalize_as_user_name(arg)
71
+ statuses = Status.find(
72
+ :all,
73
+ :conditions => ['statuses.screen_name = :u',{:u => user_name}],
74
+ :limit => 20)
75
+ output(statuses, :db_search)
76
+ end
77
+
78
+ register_command(:db_execute) do |arg|
79
+ ActionRecord::Base.connection.execute(arg).each do |row|
80
+ p row
81
+ end
82
+ end
83
+ end
84
+ end
@@ -1,11 +1,11 @@
1
1
  module Termtter::Client
2
2
  register_command(
3
3
  'user show',
4
- :aliases => [:p, :profile],
5
- :help => ["user show USERNAME", "Show user's profile."]
4
+ aliases: [:p, :profile],
5
+ help: ["user show USERNAME", "Show user's profile."]
6
6
  ) do |arg|
7
7
  user_name = arg.empty? ? config.user_name : arg
8
- user = Termtter::API.twitter.user(user_name)
8
+ user = Termtter::API.twitter.user(screen_name: user_name)
9
9
  attrs = %w[ name screen_name url description profile_image_url location protected following
10
10
  friends_count followers_count statuses_count favourites_count
11
11
  id time_zone created_at utc_offset notifications
@@ -0,0 +1,22 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'fluent-logger'
4
+
5
+ config.plugins.fluentd.set_default(:host, 'localhost')
6
+ config.plugins.fluentd.set_default(:port, 8888)
7
+ config.plugins.fluentd.set_default(:tag, 'twitter.statuses')
8
+
9
+ module Termtter
10
+ module Client
11
+ @fluentd = Fluent::Logger::FluentLogger.open(nil,
12
+ host = config.plugins.fluentd.host,
13
+ port = config.plugins.fluentd.port
14
+ )
15
+
16
+ register_hook(:collect_statuses_for_db, :point => :pre_filter) do |statuses, event|
17
+ statuses.each do |status|
18
+ @fluentd.post(config.plugins.fluentd.tag, status)
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,11 +1,6 @@
1
- # -*- coding: utf-8 -*-
2
1
  begin
3
2
  require 'nokogiri'
4
3
  rescue LoadError
5
- begin
6
- require 'hpricot'
7
- rescue LoadError
8
- end
9
4
  end
10
5
 
11
6
  module Termtter
@@ -23,55 +18,54 @@ module Termtter
23
18
  end
24
19
 
25
20
  def method_missing(method, *args, &block)
26
- if @rubytter.respond_to?(method)
27
- result = nil
28
- begin
29
- modified_args = args
30
- hooks = self.class.get_hooks("pre_#{method}")
31
- hooks.each do |hook|
32
- modified_args = hook.call(*modified_args)
33
- end
21
+ return super if !@rubytter.respond_to?(method)
22
+ result = nil
23
+ begin
24
+ modified_args = args
25
+ hooks = self.class.get_hooks("pre_#{method}")
26
+ hooks.each do |hook|
27
+ modified_args = hook.call(*modified_args)
28
+ end
34
29
 
35
- from = Time.now if Termtter::Client.logger.debug?
36
- Termtter::Client.logger.debug {
37
- "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]})"
38
- }
39
- result = call_rubytter_or_use_cache(method, *modified_args, &block)
40
- Termtter::Client.logger.debug {
41
- "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]}), " +
30
+ from = Time.now if Termtter::Client.logger.debug?
31
+ Termtter::Client.logger.debug {
32
+ "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]})"
33
+ }
34
+ result = call_rubytter_or_use_cache(method, *modified_args, &block)
35
+ Termtter::Client.logger.debug {
36
+ "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]}), " +
42
37
  "%.2fsec" % (Time.now - from)
43
- }
38
+ }
44
39
 
45
- self.class.call_hooks("post_#{method}", *args)
46
- rescue HookCanceled
47
- rescue TimeoutError => e
48
- Termtter::Client.logger.debug {
49
- "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]}) " +
40
+ self.class.call_hooks("post_#{method}", *args)
41
+ rescue HookCanceled
42
+ rescue TimeoutError => e
43
+ Termtter::Client.logger.debug {
44
+ "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]}) " +
50
45
  "#{e.message} #{'%.2fsec' % (Time.now - from)}"
51
- }
52
- raise e
53
- rescue => e
54
- Termtter::Client.logger.debug {
55
- "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]}) #{e.message}"
56
- }
57
- raise e
58
- end
59
- result
60
- else
61
- super
46
+ }
47
+ raise e
48
+ rescue => e
49
+ Termtter::Client.logger.debug {
50
+ "rubytter_proxy: #{method}(#{modified_args.inspect[1...-1]}) #{e.message}"
51
+ }
52
+ raise e
62
53
  end
54
+ result
63
55
  end
64
56
 
65
57
  def call_rubytter_or_use_cache(method, *args, &block)
66
58
  case method
67
59
  when :show
68
- unless status = cached_status(args[0])
60
+ status = cached_status(args[0])
61
+ unless status
69
62
  status = call_rubytter(method, *args, &block)
70
63
  store_status_cache(status)
71
64
  end
72
65
  status
73
66
  when :user
74
- unless user = cached_user(args[0])
67
+ user = cached_user(args[0])
68
+ unless user
75
69
  user = call_rubytter(method, *args, &block)
76
70
  store_user_cache(user)
77
71
  end
@@ -88,32 +82,40 @@ module Termtter
88
82
  end
89
83
 
90
84
  def cached_user(screen_name_or_id)
91
- user = Termtter::Client.memory_cache.get(['user', Termtter::Client.normalize_as_user_name(screen_name_or_id.to_s)].join('-'))
85
+ user =
86
+ Termtter::Client.memory_cache.get(
87
+ ['user', Termtter::Client.normalize_as_user_name(screen_name_or_id.to_s)].join('-'))
92
88
  ActiveRubytter.new(user) if user
93
89
  end
94
90
 
95
91
  def cached_status(status_id)
96
- status = Termtter::Client.memory_cache.get(['status', status_id].join('-'))
92
+ status =
93
+ Termtter::Client.memory_cache.get(['status', status_id].join('-'))
97
94
  ActiveRubytter.new(status) if status
98
95
  end
99
96
 
100
97
  def store_status_cache(status)
101
- Termtter::Client.memory_cache.set(['status', status.id].join('-'), status.to_hash, 3600 * 24 * 14)
98
+ Termtter::Client.memory_cache.set(
99
+ ['status', status.id].join('-'), status.to_hash, 3600 * 24 * 14)
102
100
  store_user_cache(status.user)
103
101
  end
104
102
 
105
103
  def store_user_cache(user)
106
- Termtter::Client.memory_cache.set(['user', user.id.to_i].join('-'), user.to_hash, 3600 * 24)
107
- Termtter::Client.memory_cache.set(['user', Termtter::Client.normalize_as_user_name(user.screen_name)].join('-'), user.to_hash, 3600 * 24)
104
+ Termtter::Client.memory_cache.set(
105
+ ['user', user.id.to_i].join('-'),
106
+ user.to_hash, 3600 * 24)
107
+ Termtter::Client.memory_cache.set(
108
+ ['user', Termtter::Client.normalize_as_user_name(user.screen_name)].join('-'),
109
+ user.to_hash, 3600 * 24)
108
110
  end
109
111
 
110
112
  attr_accessor :safe_mode
111
113
  def safe
112
114
  new_instance = self.class.new(@rubytter)
113
115
  new_instance.safe_mode = true
114
- self.instance_variables.each{ |v|
116
+ self.instance_variables.each do |v|
115
117
  new_instance.instance_variable_set(v, self.instance_variable_get(v))
116
- }
118
+ end
117
119
  new_instance
118
120
  end
119
121
 
@@ -158,10 +160,6 @@ module Termtter
158
160
  def error_html_message(e)
159
161
  Nokogiri(e.message).at('title, h2').text rescue nil
160
162
  end
161
- elsif defined? Hpricot
162
- def error_html_message(e)
163
- Hpricot(e.message).at('title, h2').inner_text rescue nil
164
- end
165
163
  else
166
164
  def error_html_message(e)
167
165
  m = %r'<title>(.*?)</title>'.match(e.message) and m.captures[0] rescue nil
@@ -169,7 +167,7 @@ module Termtter
169
167
  end
170
168
  private :error_html_message
171
169
 
172
- # XXX: these methods should in oauth_rubytter
170
+ # XXX: these methods should be in oauth_rubytter
173
171
  def access_token
174
172
  @rubytter.instance_variable_get(:@access_token)
175
173
  end
@@ -196,7 +194,9 @@ module Termtter
196
194
 
197
195
  def safe?
198
196
  limit = self.get
199
- threshold = [(Time.parse(limit.reset_time) - Time.now) / 3600 - 0.1, 0.1].max * limit.hourly_limit
197
+ threshold =
198
+ [(Time.parse(limit.reset_time) - Time.now) / 3600 - 0.1, 0.1].max *
199
+ limit.hourly_limit
200
200
  threshold < limit.remaining_hits
201
201
  end
202
202
  end
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
  module Termtter
4
- VERSION = "2.2.1"
4
+ VERSION = "2.2.2"
5
5
  end
@@ -0,0 +1,53 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require File.expand_path(File.dirname(__FILE__)) + '/../spec_helper'
4
+
5
+ module Termtter
6
+ describe Client, 'when the plugin is loaded' do
7
+ DB_PATH = '/tmp/termtter.db'
8
+
9
+ def clear_db
10
+ File.delete(DB_PATH) if File.exists?(DB_PATH)
11
+ end
12
+
13
+ before(:each) do
14
+ clear_db
15
+ end
16
+
17
+ after do
18
+ clear_db
19
+ end
20
+
21
+ it 'should add commands' do
22
+ Termtter::Client.should_receive(:register_command).exactly(4)
23
+ Termtter::Client.plug 'ar-single'
24
+ end
25
+
26
+ it 'self.save should not return false and saved record should be readable' do
27
+ config.plugins.db.path = DB_PATH
28
+ load 'plugins/ar-single.rb'
29
+ Termtter::Client.plug 'ar-single'
30
+ @status = Status.new
31
+ @status.screen_name = 'hoge'
32
+ @status.id_str = '55555'
33
+ @status.text = 'ほげ'
34
+ @status.protected = true
35
+ @status.statuses_count = 500
36
+ @status.friends_count = 1000
37
+ @status.followers_count = 1500
38
+ @status.source = 'Termtter tests'
39
+ @status.save.should_not be_false
40
+
41
+ status_find = Status.find(:first)
42
+ status_find.screen_name.should == 'hoge'
43
+ status_find.id_str.should == '55555'
44
+ status_find.text.should == 'ほげ'
45
+ status_find.protected.should be_true
46
+ status_find.statuses_count.should == 500
47
+ status_find.friends_count.should == 1000
48
+ status_find.followers_count.should == 1500
49
+ status_find.source.should == 'Termtter tests'
50
+ end
51
+
52
+ end
53
+ end
@@ -15,52 +15,4 @@ describe 'db' do
15
15
  File.delete(DB_PATH) if File.exists?(DB_PATH)
16
16
  end
17
17
 
18
- it 'should created db file' do
19
- pending("Not yet implemented")
20
- File.exists?(DB_PATH)
21
- end
22
-
23
- it 'saves statuses' do
24
- pending("Not yet implemented")
25
- now = Time.now.to_s
26
- Status << {:user_id => 1, :text => 'foo', :created_at => now}
27
- dataset = Status.all
28
- dataset.size.should == 1
29
- dataset[0].user_id.should == 1
30
- dataset[0].text.should == 'foo'
31
- dataset[0].created_at.should == now
32
- end
33
-
34
- it 'saves users' do
35
- pending("Not implemented")
36
- User << {:screen_name => 'jugyo'}
37
- dataset = User.all
38
- dataset.size.should == 1
39
- dataset[0].screen_name.should == 'jugyo'
40
- end
41
-
42
- it 'calls hook' do
43
- pending("Not yet implemented")
44
- user_struct = Struct.new(:id, :screen_name, :protected)
45
- user_1 = user_struct.new(1, 'jugyo')
46
- user_2 = user_struct.new(2, 'oyguj')
47
-
48
- status_struct = Struct.new(:id, :text, :source, :user, :in_reply_to_status_id,
49
- :in_reply_to_user_id, :created_at)
50
- statuses = []
51
- statuses << status_struct.new(1, 'foo', 'termtter', user_1, 100, Time.now.to_s)
52
- statuses << status_struct.new(2, 'bar', 'termtter', user_1, nil, nil, Time.now.to_s)
53
- statuses << status_struct.new(3, 'xxx', 'web', user_2, nil, nil, Time.now.to_s)
54
-
55
- Termtter::Client.hooks[:collect_statuses_for_db].call(statuses, :update_friends_timeline)
56
-
57
- dataset = User.all
58
- dataset.size.should == 2
59
-
60
- dataset = Status.all
61
- dataset.size.should == 3
62
-
63
- User[:id => 1].statuses.size.should == 2
64
- Status[:id => 1].user.id.should == 1
65
- end
66
18
  end
@@ -18,11 +18,27 @@ describe Termtter::Client, 'when the plugin expand_url is loaded' do
18
18
  user_2 = user_struct.new(2, 'oyguj')
19
19
  status_struct = Struct.new(:id, :text, :source, :user, :in_reply_to_status_id,
20
20
  :in_reply_to_user_id, :created_at)
21
- statuses << status_struct.new(1, 'あああ http://tinyurl.com/de5my6 aaa', 'termtter', user_1, 100, nil, Time.now.to_s)
22
- statuses << status_struct.new(2, 'bar', 'termtter', user_1, nil, nil, Time.now.to_s)
23
- statuses << status_struct.new(3, 'xxx', 'web', user_2, nil, nil, Time.now.to_s)
21
+ statuses << status_struct.new(1, '無変換 http://id774.net zzz', 'termtter', user_1, 100, nil, Time.now.to_s)
22
+ statuses << status_struct.new(2, 'あああ http://goo.gl/U7dM4Z aaa', 'termtter', user_1, 100, nil, Time.now.to_s)
23
+ statuses << status_struct.new(3, 'いいい http://is.gd/ZIqgo7 bbb', 'termtter', user_1, 100, nil, Time.now.to_s)
24
+ statuses << status_struct.new(4, 'ううう http://bit.ly/1RvMdT ccc', 'termtter', user_1, 100, nil, Time.now.to_s)
25
+ statuses << status_struct.new(5, 'えええ http://j.mp/1RvMdT ddd', 'termtter', user_1, 100, nil, Time.now.to_s)
26
+ statuses << status_struct.new(6, 'おおお http://ow.ly/nwfAS eee', 'termtter', user_1, 100, nil, Time.now.to_s)
27
+ statuses << status_struct.new(7, 'ききき http://ow.ly/nwg5a ggg', 'termtter', user_1, 100, nil, Time.now.to_s)
28
+ statuses << status_struct.new(8, 'くくく http://p.tl/mwda hhh', 'termtter', user_1, 100, nil, Time.now.to_s)
29
+
30
+ # statuses << status_struct.new(2, 'bar', 'termtter', user_1, nil, nil, Time.now.to_s)
31
+ # statuses << status_struct.new(3, 'xxx', 'web', user_2, nil, nil, Time.now.to_s)
24
32
  f.call(statuses, nil)
25
- statuses[0].text.should == 'あああ http://example.com/テスト aaa'
33
+ statuses[0].text.should == '無変換 http://id774.net zzz'
34
+ statuses[1].text.should == 'あああ http://id774.net/ aaa'
35
+ statuses[2].text.should == 'いいい http://id774.net bbb'
36
+ statuses[3].text.should == 'ううう http://id774.net/ ccc'
37
+ statuses[4].text.should == 'えええ http://id774.net/ ddd'
38
+ statuses[5].text.should == 'おおお http://id774.net eee'
39
+ statuses[6].text.should == 'ききき http://id774.net ggg'
40
+ statuses[7].text.should == 'くくく http://id774.net hhh'
41
+
26
42
  end
27
43
 
28
44
  it 'should define expand_url method' do
data/termtter.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "termtter"
8
- s.version = "2.2.1"
8
+ s.version = "2.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["jugyo", "ujihisa", "koichiroo", "id774"]
12
- s.date = "2013-05-20"
12
+ s.date = "2013-09-04"
13
13
  s.description = "Termtter is a terminal based Twitter client."
14
14
  s.email = "jugyo.org@gmail.com"
15
15
  s.executables = ["termtter", "termtter_frame"]
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  "lib/plugins/another_prompt.rb",
31
31
  "lib/plugins/appendtitle.rb",
32
32
  "lib/plugins/april_fool.rb",
33
+ "lib/plugins/ar-single.rb",
33
34
  "lib/plugins/ar.rb",
34
35
  "lib/plugins/async.rb",
35
36
  "lib/plugins/babelfish.rb",
@@ -88,6 +89,7 @@ Gem::Specification.new do |s|
88
89
  "lib/plugins/fib_filter.rb",
89
90
  "lib/plugins/fibyou.rb",
90
91
  "lib/plugins/filter.rb",
92
+ "lib/plugins/fluentd.rb",
91
93
  "lib/plugins/foo.rb",
92
94
  "lib/plugins/footer.rb",
93
95
  "lib/plugins/friends.rb",
@@ -248,6 +250,7 @@ Gem::Specification.new do |s|
248
250
  "lib/termtter/task.rb",
249
251
  "lib/termtter/task_manager.rb",
250
252
  "lib/termtter/version.rb",
253
+ "spec/plugins/ar-single_spec.rb",
251
254
  "spec/plugins/capital_update_spec.rb",
252
255
  "spec/plugins/cool_spec.rb",
253
256
  "spec/plugins/curry_spec.rb",
@@ -302,29 +305,35 @@ Gem::Specification.new do |s|
302
305
  s.licenses = ["MIT"]
303
306
  s.require_paths = ["lib"]
304
307
  s.rubyforge_project = "termtter"
305
- s.rubygems_version = "2.0.3"
308
+ s.rubygems_version = "2.0.6"
306
309
  s.summary = "Terminal based Twitter client."
307
310
 
308
311
  if s.respond_to? :specification_version then
309
312
  s.specification_version = 4
310
313
 
311
314
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
312
- s.add_runtime_dependency(%q<json>, ["> 1.1.3"])
313
- s.add_runtime_dependency(%q<highline>, ["~> 1.5.0"])
315
+ s.add_runtime_dependency(%q<json>, [">= 1.1.3"])
316
+ s.add_runtime_dependency(%q<highline>, [">= 1.5.0"])
314
317
  s.add_runtime_dependency(%q<termcolor>, ["~> 1.0.0"])
315
318
  s.add_runtime_dependency(%q<rubytter>, ["~> 1.5.1"])
316
- s.add_runtime_dependency(%q<notify>, ["~> 0.5.1"])
319
+ s.add_runtime_dependency(%q<notify>, [">= 0.5.1"])
320
+ s.add_runtime_dependency(%q<activerecord>, ["~> 4.0.0"])
321
+ s.add_runtime_dependency(%q<builder>, [">= 3.0.4"])
322
+ s.add_runtime_dependency(%q<fluent-logger>, [">= 0.4.6"])
317
323
  s.add_development_dependency(%q<rspec>, [">= 0"])
318
324
  s.add_development_dependency(%q<rdoc>, [">= 0"])
319
325
  s.add_development_dependency(%q<cucumber>, [">= 0"])
320
326
  s.add_development_dependency(%q<bundler>, [">= 0"])
321
327
  s.add_development_dependency(%q<jeweler>, [">= 0"])
322
328
  else
323
- s.add_dependency(%q<json>, ["> 1.1.3"])
324
- s.add_dependency(%q<highline>, ["~> 1.5.0"])
329
+ s.add_dependency(%q<json>, [">= 1.1.3"])
330
+ s.add_dependency(%q<highline>, [">= 1.5.0"])
325
331
  s.add_dependency(%q<termcolor>, ["~> 1.0.0"])
326
332
  s.add_dependency(%q<rubytter>, ["~> 1.5.1"])
327
- s.add_dependency(%q<notify>, ["~> 0.5.1"])
333
+ s.add_dependency(%q<notify>, [">= 0.5.1"])
334
+ s.add_dependency(%q<activerecord>, ["~> 4.0.0"])
335
+ s.add_dependency(%q<builder>, [">= 3.0.4"])
336
+ s.add_dependency(%q<fluent-logger>, [">= 0.4.6"])
328
337
  s.add_dependency(%q<rspec>, [">= 0"])
329
338
  s.add_dependency(%q<rdoc>, [">= 0"])
330
339
  s.add_dependency(%q<cucumber>, [">= 0"])
@@ -332,11 +341,14 @@ Gem::Specification.new do |s|
332
341
  s.add_dependency(%q<jeweler>, [">= 0"])
333
342
  end
334
343
  else
335
- s.add_dependency(%q<json>, ["> 1.1.3"])
336
- s.add_dependency(%q<highline>, ["~> 1.5.0"])
344
+ s.add_dependency(%q<json>, [">= 1.1.3"])
345
+ s.add_dependency(%q<highline>, [">= 1.5.0"])
337
346
  s.add_dependency(%q<termcolor>, ["~> 1.0.0"])
338
347
  s.add_dependency(%q<rubytter>, ["~> 1.5.1"])
339
- s.add_dependency(%q<notify>, ["~> 0.5.1"])
348
+ s.add_dependency(%q<notify>, [">= 0.5.1"])
349
+ s.add_dependency(%q<activerecord>, ["~> 4.0.0"])
350
+ s.add_dependency(%q<builder>, [">= 3.0.4"])
351
+ s.add_dependency(%q<fluent-logger>, [">= 0.4.6"])
340
352
  s.add_dependency(%q<rspec>, [">= 0"])
341
353
  s.add_dependency(%q<rdoc>, [">= 0"])
342
354
  s.add_dependency(%q<cucumber>, [">= 0"])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: termtter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - jugyo
@@ -11,34 +11,34 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-05-20 00:00:00.000000000 Z
14
+ date: 2013-09-04 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - '>'
20
+ - - '>='
21
21
  - !ruby/object:Gem::Version
22
22
  version: 1.1.3
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - '>'
27
+ - - '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: 1.1.3
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: highline
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - ~>
34
+ - - '>='
35
35
  - !ruby/object:Gem::Version
36
36
  version: 1.5.0
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - ~>
41
+ - - '>='
42
42
  - !ruby/object:Gem::Version
43
43
  version: 1.5.0
44
44
  - !ruby/object:Gem::Dependency
@@ -73,16 +73,58 @@ dependencies:
73
73
  name: notify
74
74
  requirement: !ruby/object:Gem::Requirement
75
75
  requirements:
76
- - - ~>
76
+ - - '>='
77
77
  - !ruby/object:Gem::Version
78
78
  version: 0.5.1
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
82
82
  requirements:
83
- - - ~>
83
+ - - '>='
84
84
  - !ruby/object:Gem::Version
85
85
  version: 0.5.1
86
+ - !ruby/object:Gem::Dependency
87
+ name: activerecord
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ~>
91
+ - !ruby/object:Gem::Version
92
+ version: 4.0.0
93
+ type: :runtime
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ~>
98
+ - !ruby/object:Gem::Version
99
+ version: 4.0.0
100
+ - !ruby/object:Gem::Dependency
101
+ name: builder
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - '>='
105
+ - !ruby/object:Gem::Version
106
+ version: 3.0.4
107
+ type: :runtime
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - '>='
112
+ - !ruby/object:Gem::Version
113
+ version: 3.0.4
114
+ - !ruby/object:Gem::Dependency
115
+ name: fluent-logger
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - '>='
119
+ - !ruby/object:Gem::Version
120
+ version: 0.4.6
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - '>='
126
+ - !ruby/object:Gem::Version
127
+ version: 0.4.6
86
128
  - !ruby/object:Gem::Dependency
87
129
  name: rspec
88
130
  requirement: !ruby/object:Gem::Requirement
@@ -175,6 +217,7 @@ files:
175
217
  - lib/plugins/another_prompt.rb
176
218
  - lib/plugins/appendtitle.rb
177
219
  - lib/plugins/april_fool.rb
220
+ - lib/plugins/ar-single.rb
178
221
  - lib/plugins/ar.rb
179
222
  - lib/plugins/async.rb
180
223
  - lib/plugins/babelfish.rb
@@ -233,6 +276,7 @@ files:
233
276
  - lib/plugins/fib_filter.rb
234
277
  - lib/plugins/fibyou.rb
235
278
  - lib/plugins/filter.rb
279
+ - lib/plugins/fluentd.rb
236
280
  - lib/plugins/foo.rb
237
281
  - lib/plugins/footer.rb
238
282
  - lib/plugins/friends.rb
@@ -393,6 +437,7 @@ files:
393
437
  - lib/termtter/task.rb
394
438
  - lib/termtter/task_manager.rb
395
439
  - lib/termtter/version.rb
440
+ - spec/plugins/ar-single_spec.rb
396
441
  - spec/plugins/capital_update_spec.rb
397
442
  - spec/plugins/cool_spec.rb
398
443
  - spec/plugins/curry_spec.rb
@@ -462,7 +507,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
462
507
  version: '0'
463
508
  requirements: []
464
509
  rubyforge_project: termtter
465
- rubygems_version: 2.0.2
510
+ rubygems_version: 2.0.6
466
511
  signing_key:
467
512
  specification_version: 4
468
513
  summary: Terminal based Twitter client.