twterm 2.1.0 → 2.2.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.
- checksums.yaml +5 -5
- data/.travis.yml +4 -1
- data/lib/twterm.rb +1 -1
- data/lib/twterm/abstract_persistable_configuration.rb +118 -0
- data/lib/twterm/app.rb +21 -1
- data/lib/twterm/environment.rb +38 -0
- data/lib/twterm/event/message/abstract_message.rb +23 -0
- data/lib/twterm/event/message/error.rb +10 -0
- data/lib/twterm/event/message/info.rb +10 -0
- data/lib/twterm/event/message/success.rb +10 -0
- data/lib/twterm/event/message/warning.rb +10 -0
- data/lib/twterm/event/notification/abstract_notification.rb +17 -12
- data/lib/twterm/event/notification/direct_message.rb +30 -0
- data/lib/twterm/event/notification/favorite.rb +35 -0
- data/lib/twterm/event/notification/follow.rb +33 -0
- data/lib/twterm/event/notification/list_member_added.rb +33 -0
- data/lib/twterm/event/notification/mention.rb +35 -0
- data/lib/twterm/event/notification/quote.rb +35 -0
- data/lib/twterm/event/notification/retweet.rb +35 -0
- data/lib/twterm/key_mapper/abstract_key_mapper.rb +4 -4
- data/lib/twterm/list.rb +2 -1
- data/lib/twterm/message_window.rb +81 -0
- data/lib/twterm/notification_backend/abstract_notification_backend.rb +16 -0
- data/lib/twterm/notification_backend/inline_backend.rb +20 -0
- data/lib/twterm/notification_backend/terminal_notifier_backend.rb +23 -0
- data/lib/twterm/notification_backend/tmux_backend.rb +17 -0
- data/lib/twterm/notification_dispatcher.rb +36 -0
- data/lib/twterm/persistable_configuration_proxy.rb +82 -0
- data/lib/twterm/preferences.rb +66 -0
- data/lib/twterm/repository/abstract_expirable_entity_repository.rb +1 -1
- data/lib/twterm/rest_client.rb +12 -14
- data/lib/twterm/scheduler.rb +1 -1
- data/lib/twterm/screen.rb +1 -1
- data/lib/twterm/search_query_window.rb +2 -2
- data/lib/twterm/streaming_client.rb +54 -17
- data/lib/twterm/tab/base.rb +2 -3
- data/lib/twterm/tab/new/list.rb +2 -4
- data/lib/twterm/tab/new/start.rb +10 -0
- data/lib/twterm/tab/new/user.rb +2 -2
- data/lib/twterm/tab/preferences/index.rb +74 -0
- data/lib/twterm/tab/preferences/notification_backend.rb +85 -0
- data/lib/twterm/tab/scrollable.rb +0 -1
- data/lib/twterm/tab/searchable.rb +7 -7
- data/lib/twterm/tab/user_list_management.rb +3 -3
- data/lib/twterm/tab/user_tab.rb +6 -8
- data/lib/twterm/tab_manager.rb +4 -4
- data/lib/twterm/tweetbox.rb +1 -1
- data/lib/twterm/uri_opener.rb +2 -2
- data/lib/twterm/user.rb +2 -1
- data/lib/twterm/version.rb +1 -1
- data/twterm.gemspec +4 -2
- metadata +59 -14
- data/lib/twterm/event/favorite.rb +0 -18
- data/lib/twterm/event/follow.rb +0 -17
- data/lib/twterm/event/notification/error.rb +0 -13
- data/lib/twterm/event/notification/info.rb +0 -13
- data/lib/twterm/event/notification/success.rb +0 -13
- data/lib/twterm/event/notification/warning.rb +0 -13
- data/lib/twterm/notifier.rb +0 -82
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'twterm/image'
|
2
|
+
require 'twterm/preferences'
|
3
|
+
require 'twterm/publisher'
|
4
|
+
require 'twterm/tab/base'
|
5
|
+
require 'twterm/tab/scrollable'
|
6
|
+
|
7
|
+
module Twterm
|
8
|
+
module Tab
|
9
|
+
module Preferences
|
10
|
+
class NotificationBackend < Tab::Base
|
11
|
+
include Scrollable
|
12
|
+
include Publisher
|
13
|
+
|
14
|
+
def drawable_item_count
|
15
|
+
(window.maxy - 1) / 2
|
16
|
+
end
|
17
|
+
|
18
|
+
def image
|
19
|
+
drawable_items.map.with_index do |item, i|
|
20
|
+
cursor = Image.cursor(1, scroller.current_index?(i))
|
21
|
+
checkbox = Image.checkbox(app.preferences[:notification_backend, item])
|
22
|
+
desc =
|
23
|
+
case item
|
24
|
+
when :inline
|
25
|
+
'Inline backend'
|
26
|
+
when :tmux
|
27
|
+
'Tmux backend'
|
28
|
+
when :terminal_notifier
|
29
|
+
'Terminal Notifier backend'
|
30
|
+
end
|
31
|
+
|
32
|
+
cursor - Image.whitespace - checkbox - Image.whitespace - Image.string(desc)
|
33
|
+
end
|
34
|
+
.intersperse(Image.blank_line)
|
35
|
+
.reduce(Image.empty) { |acc, x| acc | x }
|
36
|
+
end
|
37
|
+
|
38
|
+
def items
|
39
|
+
env = app.environment
|
40
|
+
|
41
|
+
[
|
42
|
+
:inline,
|
43
|
+
(:tmux if env.with_tmux?),
|
44
|
+
(:terminal_notifier if env.terminal_notifier_available?),
|
45
|
+
].compact
|
46
|
+
end
|
47
|
+
|
48
|
+
def respond_to_key(key)
|
49
|
+
return true if scroller.respond_to_key(key)
|
50
|
+
|
51
|
+
case key
|
52
|
+
when 10
|
53
|
+
perform_selected_action
|
54
|
+
end
|
55
|
+
|
56
|
+
false
|
57
|
+
end
|
58
|
+
|
59
|
+
def title
|
60
|
+
'Notification backend preferences'
|
61
|
+
end
|
62
|
+
|
63
|
+
private
|
64
|
+
|
65
|
+
def perform_selected_action
|
66
|
+
item = scroller.current_item
|
67
|
+
|
68
|
+
case item
|
69
|
+
when :inline
|
70
|
+
app.preferences[:notification_backend, :inline] =
|
71
|
+
!app.preferences[:notification_backend, :inline]
|
72
|
+
when :terminal_notifier
|
73
|
+
app.preferences[:notification_backend, :terminal_notifier] =
|
74
|
+
!app.preferences[:notification_backend, :terminal_notifier]
|
75
|
+
when :tmux
|
76
|
+
app.preferences[:notification_backend, :tmux] =
|
77
|
+
!app.preferences[:notification_backend, :tmux]
|
78
|
+
end
|
79
|
+
|
80
|
+
render
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require 'twterm/event/
|
2
|
-
require 'twterm/event/
|
1
|
+
require 'twterm/event/message/info'
|
2
|
+
require 'twterm/event/message/warning'
|
3
3
|
require 'twterm/search_query_window'
|
4
4
|
|
5
5
|
module Twterm
|
@@ -10,7 +10,7 @@ module Twterm
|
|
10
10
|
|
11
11
|
def_delegators :scroller, :search_query
|
12
12
|
|
13
|
-
def matches?(
|
13
|
+
def matches?(_item, _query)
|
14
14
|
raise NotImplementedError, '`matches?` method must be implemented'
|
15
15
|
end
|
16
16
|
|
@@ -96,7 +96,7 @@ module Twterm
|
|
96
96
|
@search_query = search_query_window.last_query if search_query.empty?
|
97
97
|
|
98
98
|
if @search_query.empty?
|
99
|
-
event = Event::
|
99
|
+
event = Event::Message::Info.new("search query is empty. Press '/' or '?' to start searching.")
|
100
100
|
publish(event)
|
101
101
|
return
|
102
102
|
end
|
@@ -111,10 +111,10 @@ module Twterm
|
|
111
111
|
_, index = xs.find { |x, _| tab.matches?(x, search_query) }
|
112
112
|
|
113
113
|
if index.nil?
|
114
|
-
publish(Event::
|
114
|
+
publish(Event::Message::Warning.new("No matches found: \"#{search_query}\""))
|
115
115
|
else
|
116
|
-
hit_bottom = Event::
|
117
|
-
hit_top = Event::
|
116
|
+
hit_bottom = Event::Message::Info.new('search hit BOTTOM, continuing at TOP')
|
117
|
+
hit_top = Event::Message::Info.new('search hit TOP, continuing at BOTTOM')
|
118
118
|
|
119
119
|
publish(hit_bottom) if (searching_down? ^ searching_backward?) && index <= previous_index
|
120
120
|
publish(hit_top) if (searching_up? ^ searching_backward?) && index >= previous_index
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'concurrent'
|
2
2
|
|
3
|
-
require 'twterm/event/
|
3
|
+
require 'twterm/event/message/success'
|
4
4
|
require 'twterm/image'
|
5
5
|
require 'twterm/publisher'
|
6
6
|
require 'twterm/tab/dumpable'
|
@@ -94,12 +94,12 @@ module Twterm
|
|
94
94
|
if list_ids.include?(list.id)
|
95
95
|
client.remove_list_member(list.id, user_id).then do
|
96
96
|
@list_ids.delete(list.id)
|
97
|
-
publish(Event::
|
97
|
+
publish(Event::Message::Success.new("Removed @#{user.screen_name} from #{list.name}"))
|
98
98
|
end
|
99
99
|
else
|
100
100
|
client.add_list_member(list.id, user_id).then do
|
101
101
|
@list_ids.push(list.id)
|
102
|
-
publish(Event::
|
102
|
+
publish(Event::Message::Success.new("Added @#{user.screen_name} to #{list.name}"))
|
103
103
|
end
|
104
104
|
end
|
105
105
|
.then { render }
|
data/lib/twterm/tab/user_tab.rb
CHANGED
@@ -62,8 +62,6 @@ module Twterm
|
|
62
62
|
def respond_to_key(key)
|
63
63
|
return true if scroller.respond_to_key(key)
|
64
64
|
|
65
|
-
k = KeyMapper.instance
|
66
|
-
|
67
65
|
case key
|
68
66
|
when 10
|
69
67
|
perform_selected_action
|
@@ -85,7 +83,7 @@ module Twterm
|
|
85
83
|
render
|
86
84
|
|
87
85
|
user = users.first
|
88
|
-
publish(Event::
|
86
|
+
publish(Event::Message::Success.new('Blocked @%s' % user.screen_name))
|
89
87
|
end
|
90
88
|
end
|
91
89
|
|
@@ -107,7 +105,7 @@ module Twterm
|
|
107
105
|
else
|
108
106
|
msg = "Followed @#{user.screen_name}"
|
109
107
|
end
|
110
|
-
publish(Event::
|
108
|
+
publish(Event::Message::Success.new(msg))
|
111
109
|
end
|
112
110
|
end
|
113
111
|
|
@@ -128,7 +126,7 @@ module Twterm
|
|
128
126
|
render
|
129
127
|
|
130
128
|
user = users.first
|
131
|
-
publish(Event::
|
129
|
+
publish(Event::Message::Success.new('Muted @%s' % user.screen_name))
|
132
130
|
end
|
133
131
|
end
|
134
132
|
|
@@ -207,7 +205,7 @@ module Twterm
|
|
207
205
|
render
|
208
206
|
|
209
207
|
user = users.first
|
210
|
-
publish(Event::
|
208
|
+
publish(Event::Message::Success.new('Unblocked @%s' % user.screen_name))
|
211
209
|
end
|
212
210
|
end
|
213
211
|
|
@@ -216,7 +214,7 @@ module Twterm
|
|
216
214
|
render
|
217
215
|
|
218
216
|
user = users.first
|
219
|
-
publish(Event::
|
217
|
+
publish(Event::Message::Success.new('Unfollowed @%s' % user.screen_name))
|
220
218
|
end
|
221
219
|
end
|
222
220
|
|
@@ -225,7 +223,7 @@ module Twterm
|
|
225
223
|
render
|
226
224
|
|
227
225
|
user = users.first
|
228
|
-
publish(Event::
|
226
|
+
publish(Event::Message::Success.new('Unmuted @%s' % user.screen_name))
|
229
227
|
end
|
230
228
|
end
|
231
229
|
|
data/lib/twterm/tab_manager.rb
CHANGED
@@ -45,7 +45,7 @@ module Twterm
|
|
45
45
|
current_tab.render
|
46
46
|
refresh_window
|
47
47
|
rescue Tab::NotClosableError
|
48
|
-
publish(Event::
|
48
|
+
publish(Event::Message::Warning.new('this tab cannot be closed', 'this tab cannot be closed'))
|
49
49
|
end
|
50
50
|
|
51
51
|
def current_tab
|
@@ -104,8 +104,8 @@ module Twterm
|
|
104
104
|
tab = klass.recover(app, client, title, arg)
|
105
105
|
add(tab)
|
106
106
|
end
|
107
|
-
rescue
|
108
|
-
publish(Event::
|
107
|
+
rescue StandardError
|
108
|
+
publish(Event::Message::Error.new('Failed to recover tabs'))
|
109
109
|
end
|
110
110
|
|
111
111
|
def refresh_window
|
@@ -195,7 +195,7 @@ module Twterm
|
|
195
195
|
|
196
196
|
attr_reader :app, :client
|
197
197
|
|
198
|
-
def resize(
|
198
|
+
def resize(_event)
|
199
199
|
@window.resize(3, stdscr.maxx)
|
200
200
|
@window.move(0, 0)
|
201
201
|
end
|
data/lib/twterm/tweetbox.rb
CHANGED
data/lib/twterm/uri_opener.rb
CHANGED
@@ -3,7 +3,7 @@ require 'singleton'
|
|
3
3
|
require 'twterm/event/open_uri'
|
4
4
|
require 'twterm/publisher'
|
5
5
|
require 'twterm/subscriber'
|
6
|
-
require 'twterm/event/
|
6
|
+
require 'twterm/event/message/warning'
|
7
7
|
|
8
8
|
module Twterm
|
9
9
|
class URIOpener
|
@@ -20,7 +20,7 @@ module Twterm
|
|
20
20
|
def open(uri)
|
21
21
|
Launchy.open(uri)
|
22
22
|
rescue Launchy::CommandNotFoundError
|
23
|
-
publish(Event::
|
23
|
+
publish(Event::Message::Warning.new('Browser not found'))
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
data/lib/twterm/user.rb
CHANGED
@@ -2,7 +2,7 @@ module Twterm
|
|
2
2
|
class User
|
3
3
|
attr_reader :color, :description, :favorites_count, :followers_count,
|
4
4
|
:friends_count, :id, :location, :name, :protected,
|
5
|
-
:screen_name, :statuses_count, :verified, :website
|
5
|
+
:screen_name, :statuses_count, :url, :verified, :website
|
6
6
|
alias_method :protected?, :protected
|
7
7
|
alias_method :verified?, :verified
|
8
8
|
|
@@ -25,6 +25,7 @@ module Twterm
|
|
25
25
|
@favorites_count = user.favorites_count
|
26
26
|
@friends_count = user.friends_count
|
27
27
|
@followers_count = user.followers_count
|
28
|
+
@url = user.url
|
28
29
|
@verified = user.verified?
|
29
30
|
|
30
31
|
self
|
data/lib/twterm/version.rb
CHANGED
data/twterm.gemspec
CHANGED
@@ -22,12 +22,14 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_dependency 'concurrent-ruby', '~> 1.0.5'
|
23
23
|
spec.add_dependency 'launchy', '~> 2.4.3'
|
24
24
|
spec.add_dependency 'oauth', '~> 0.5.1'
|
25
|
+
spec.add_dependency 'terminal-notifier', '~> 2.0.0'
|
25
26
|
spec.add_dependency 'toml-rb', '~> 0.3.14'
|
26
|
-
spec.add_dependency 'twitter', '~> 6.
|
27
|
+
spec.add_dependency 'twitter', '~> 6.2.0'
|
27
28
|
spec.add_dependency 'twitter-text', '1.14.5'
|
28
29
|
|
29
30
|
spec.add_development_dependency 'bundler', '~> 1.8'
|
30
31
|
spec.add_development_dependency 'hashie', '~> 3.5.6'
|
31
32
|
spec.add_development_dependency 'rake', '~> 12.0'
|
32
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
33
|
+
spec.add_development_dependency 'rspec', '~> 3.7.0'
|
34
|
+
spec.add_development_dependency 'rubocop', '~> 0.51.0'
|
33
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twterm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryota Kameoka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curses
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.5.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: terminal-notifier
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 2.0.0
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.0.0
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: toml-rb
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +100,14 @@ dependencies:
|
|
86
100
|
requirements:
|
87
101
|
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: 6.
|
103
|
+
version: 6.2.0
|
90
104
|
type: :runtime
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
108
|
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: 6.
|
110
|
+
version: 6.2.0
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: twitter-text
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,14 +170,28 @@ dependencies:
|
|
156
170
|
requirements:
|
157
171
|
- - "~>"
|
158
172
|
- !ruby/object:Gem::Version
|
159
|
-
version: 3.
|
173
|
+
version: 3.7.0
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 3.7.0
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: rubocop
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 0.51.0
|
160
188
|
type: :development
|
161
189
|
prerelease: false
|
162
190
|
version_requirements: !ruby/object:Gem::Requirement
|
163
191
|
requirements:
|
164
192
|
- - "~>"
|
165
193
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
194
|
+
version: 0.51.0
|
167
195
|
description: A full-featured TUI Twitter client
|
168
196
|
email:
|
169
197
|
- kameoka.ryota@gmail.com
|
@@ -181,6 +209,7 @@ files:
|
|
181
209
|
- Rakefile
|
182
210
|
- bin/twterm
|
183
211
|
- lib/twterm.rb
|
212
|
+
- lib/twterm/abstract_persistable_configuration.rb
|
184
213
|
- lib/twterm/app.rb
|
185
214
|
- lib/twterm/auth.rb
|
186
215
|
- lib/twterm/client.rb
|
@@ -194,15 +223,22 @@ files:
|
|
194
223
|
- lib/twterm/direct_message.rb
|
195
224
|
- lib/twterm/direct_message_composer.rb
|
196
225
|
- lib/twterm/direct_message_manager.rb
|
226
|
+
- lib/twterm/environment.rb
|
197
227
|
- lib/twterm/event/base.rb
|
198
228
|
- lib/twterm/event/direct_message/fetched.rb
|
199
|
-
- lib/twterm/event/
|
200
|
-
- lib/twterm/event/
|
229
|
+
- lib/twterm/event/message/abstract_message.rb
|
230
|
+
- lib/twterm/event/message/error.rb
|
231
|
+
- lib/twterm/event/message/info.rb
|
232
|
+
- lib/twterm/event/message/success.rb
|
233
|
+
- lib/twterm/event/message/warning.rb
|
201
234
|
- lib/twterm/event/notification/abstract_notification.rb
|
202
|
-
- lib/twterm/event/notification/
|
203
|
-
- lib/twterm/event/notification/
|
204
|
-
- lib/twterm/event/notification/
|
205
|
-
- lib/twterm/event/notification/
|
235
|
+
- lib/twterm/event/notification/direct_message.rb
|
236
|
+
- lib/twterm/event/notification/favorite.rb
|
237
|
+
- lib/twterm/event/notification/follow.rb
|
238
|
+
- lib/twterm/event/notification/list_member_added.rb
|
239
|
+
- lib/twterm/event/notification/mention.rb
|
240
|
+
- lib/twterm/event/notification/quote.rb
|
241
|
+
- lib/twterm/event/notification/retweet.rb
|
206
242
|
- lib/twterm/event/open_uri.rb
|
207
243
|
- lib/twterm/event/screen/resize.rb
|
208
244
|
- lib/twterm/event/status/base.rb
|
@@ -238,7 +274,14 @@ files:
|
|
238
274
|
- lib/twterm/key_mapper/status_key_mapper.rb
|
239
275
|
- lib/twterm/key_mapper/tab_key_mapper.rb
|
240
276
|
- lib/twterm/list.rb
|
241
|
-
- lib/twterm/
|
277
|
+
- lib/twterm/message_window.rb
|
278
|
+
- lib/twterm/notification_backend/abstract_notification_backend.rb
|
279
|
+
- lib/twterm/notification_backend/inline_backend.rb
|
280
|
+
- lib/twterm/notification_backend/terminal_notifier_backend.rb
|
281
|
+
- lib/twterm/notification_backend/tmux_backend.rb
|
282
|
+
- lib/twterm/notification_dispatcher.rb
|
283
|
+
- lib/twterm/persistable_configuration_proxy.rb
|
284
|
+
- lib/twterm/preferences.rb
|
242
285
|
- lib/twterm/publisher.rb
|
243
286
|
- lib/twterm/repository/abstract_entity_repository.rb
|
244
287
|
- lib/twterm/repository/abstract_expirable_entity_repository.rb
|
@@ -268,6 +311,8 @@ files:
|
|
268
311
|
- lib/twterm/tab/new/search.rb
|
269
312
|
- lib/twterm/tab/new/start.rb
|
270
313
|
- lib/twterm/tab/new/user.rb
|
314
|
+
- lib/twterm/tab/preferences/index.rb
|
315
|
+
- lib/twterm/tab/preferences/notification_backend.rb
|
271
316
|
- lib/twterm/tab/rate_limit_status.rb
|
272
317
|
- lib/twterm/tab/scrollable.rb
|
273
318
|
- lib/twterm/tab/searchable.rb
|
@@ -341,7 +386,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
341
386
|
version: '0'
|
342
387
|
requirements: []
|
343
388
|
rubyforge_project:
|
344
|
-
rubygems_version: 2.
|
389
|
+
rubygems_version: 2.7.4
|
345
390
|
signing_key:
|
346
391
|
specification_version: 4
|
347
392
|
summary: A full-featured TUI Twitter client
|