meshchat 0.8.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +39 -11
  3. data/lib/meshchat.rb +48 -42
  4. data/lib/meshchat/configuration.rb +14 -0
  5. data/lib/meshchat/configuration/app_config.rb +63 -0
  6. data/lib/meshchat/configuration/database.rb +41 -0
  7. data/lib/meshchat/{config → configuration}/hash_file.rb +7 -6
  8. data/lib/meshchat/configuration/identity.rb +79 -0
  9. data/lib/meshchat/{config → configuration}/settings.rb +22 -26
  10. data/lib/meshchat/debug.rb +69 -0
  11. data/lib/meshchat/encryption.rb +7 -2
  12. data/lib/meshchat/encryption/aes_rsa.rb +2 -1
  13. data/lib/meshchat/encryption/passthrough.rb +5 -3
  14. data/lib/meshchat/locale/en.yml +14 -0
  15. data/lib/meshchat/models/node.rb +140 -0
  16. data/lib/meshchat/network.rb +19 -0
  17. data/lib/meshchat/network/dispatcher.rb +83 -0
  18. data/lib/meshchat/network/errors.rb +11 -0
  19. data/lib/meshchat/network/incoming.rb +13 -0
  20. data/lib/meshchat/network/incoming/message_decryptor.rb +51 -0
  21. data/lib/meshchat/network/incoming/message_processor.rb +75 -0
  22. data/lib/meshchat/network/incoming/request_processor.rb +30 -0
  23. data/lib/meshchat/network/local.rb +12 -0
  24. data/lib/meshchat/network/local/connection.rb +58 -0
  25. data/lib/meshchat/network/local/server.rb +69 -0
  26. data/lib/meshchat/network/message.rb +34 -0
  27. data/lib/meshchat/network/message/base.rb +139 -0
  28. data/lib/meshchat/network/message/chat.rb +9 -0
  29. data/lib/meshchat/network/message/disconnect.rb +21 -0
  30. data/lib/meshchat/network/message/emote.rb +9 -0
  31. data/lib/meshchat/network/message/factory.rb +80 -0
  32. data/lib/meshchat/network/message/node_list.rb +75 -0
  33. data/lib/meshchat/network/message/node_list_diff.rb +18 -0
  34. data/lib/meshchat/network/message/node_list_hash.rb +32 -0
  35. data/lib/meshchat/network/message/ping.rb +31 -0
  36. data/lib/meshchat/network/message/ping_reply.rb +12 -0
  37. data/lib/meshchat/network/message/whisper.rb +28 -0
  38. data/lib/meshchat/network/remote.rb +13 -0
  39. data/lib/meshchat/network/remote/connection.rb +28 -0
  40. data/lib/meshchat/network/remote/relay.rb +109 -0
  41. data/lib/meshchat/network/remote/relay_pool.rb +52 -0
  42. data/lib/meshchat/ui.rb +13 -0
  43. data/lib/meshchat/ui/cli.rb +48 -0
  44. data/lib/meshchat/ui/cli/base.rb +39 -0
  45. data/lib/meshchat/ui/cli/input_factory.rb +50 -0
  46. data/lib/meshchat/ui/cli/keyboard_line_input.rb +14 -0
  47. data/lib/meshchat/ui/command.rb +51 -0
  48. data/lib/meshchat/ui/command/base.rb +77 -0
  49. data/lib/meshchat/ui/command/bind.rb +47 -0
  50. data/lib/meshchat/ui/command/chat.rb +31 -0
  51. data/lib/meshchat/ui/command/config.rb +37 -0
  52. data/lib/meshchat/ui/command/emote.rb +23 -0
  53. data/lib/meshchat/ui/command/exit.rb +16 -0
  54. data/lib/meshchat/ui/command/help.rb +20 -0
  55. data/lib/meshchat/ui/command/identity.rb +16 -0
  56. data/lib/meshchat/ui/command/import.rb +42 -0
  57. data/lib/meshchat/ui/command/irb.rb +22 -0
  58. data/lib/meshchat/ui/command/offline.rb +23 -0
  59. data/lib/meshchat/ui/command/online.rb +18 -0
  60. data/lib/meshchat/ui/command/ping.rb +65 -0
  61. data/lib/meshchat/ui/command/ping_all.rb +19 -0
  62. data/lib/meshchat/ui/command/send_disconnect.rb +20 -0
  63. data/lib/meshchat/ui/command/server.rb +22 -0
  64. data/lib/meshchat/ui/command/share.rb +16 -0
  65. data/lib/meshchat/ui/command/whisper.rb +40 -0
  66. data/lib/meshchat/ui/display.rb +78 -0
  67. data/lib/meshchat/ui/display/base.rb +58 -0
  68. data/lib/meshchat/ui/display/manager.rb +59 -0
  69. data/lib/meshchat/ui/notifier.rb +9 -0
  70. data/lib/meshchat/ui/notifier/base.rb +33 -0
  71. data/lib/meshchat/version.rb +3 -2
  72. metadata +150 -80
  73. data/lib/meshchat/cli.rb +0 -188
  74. data/lib/meshchat/cli/base.rb +0 -13
  75. data/lib/meshchat/cli/input.rb +0 -37
  76. data/lib/meshchat/command/base.rb +0 -80
  77. data/lib/meshchat/command/bind.rb +0 -44
  78. data/lib/meshchat/command/chat.rb +0 -30
  79. data/lib/meshchat/command/config.rb +0 -34
  80. data/lib/meshchat/command/emote.rb +0 -20
  81. data/lib/meshchat/command/exit.rb +0 -13
  82. data/lib/meshchat/command/help.rb +0 -17
  83. data/lib/meshchat/command/identity.rb +0 -13
  84. data/lib/meshchat/command/import.rb +0 -41
  85. data/lib/meshchat/command/init.rb +0 -34
  86. data/lib/meshchat/command/irb.rb +0 -23
  87. data/lib/meshchat/command/listen.rb +0 -13
  88. data/lib/meshchat/command/offline.rb +0 -20
  89. data/lib/meshchat/command/online.rb +0 -15
  90. data/lib/meshchat/command/ping.rb +0 -65
  91. data/lib/meshchat/command/ping_all.rb +0 -15
  92. data/lib/meshchat/command/send_disconnect.rb +0 -15
  93. data/lib/meshchat/command/server.rb +0 -20
  94. data/lib/meshchat/command/share.rb +0 -13
  95. data/lib/meshchat/command/stop_listening.rb +0 -13
  96. data/lib/meshchat/command/whisper.rb +0 -38
  97. data/lib/meshchat/database.rb +0 -30
  98. data/lib/meshchat/display.rb +0 -33
  99. data/lib/meshchat/display/base.rb +0 -60
  100. data/lib/meshchat/display/manager.rb +0 -55
  101. data/lib/meshchat/instance.rb +0 -40
  102. data/lib/meshchat/message.rb +0 -41
  103. data/lib/meshchat/message/base.rb +0 -97
  104. data/lib/meshchat/message/chat.rb +0 -19
  105. data/lib/meshchat/message/disconnect.rb +0 -13
  106. data/lib/meshchat/message/emote.rb +0 -9
  107. data/lib/meshchat/message/node_list.rb +0 -63
  108. data/lib/meshchat/message/node_list_diff.rb +0 -15
  109. data/lib/meshchat/message/node_list_hash.rb +0 -33
  110. data/lib/meshchat/message/ping.rb +0 -32
  111. data/lib/meshchat/message/ping_reply.rb +0 -9
  112. data/lib/meshchat/message/relay.rb +0 -43
  113. data/lib/meshchat/message/whisper.rb +0 -36
  114. data/lib/meshchat/models/entry.rb +0 -104
  115. data/lib/meshchat/net/client.rb +0 -83
  116. data/lib/meshchat/net/listener/errors.rb +0 -11
  117. data/lib/meshchat/net/listener/request.rb +0 -48
  118. data/lib/meshchat/net/listener/request_processor.rb +0 -50
  119. data/lib/meshchat/net/listener/server.rb +0 -114
  120. data/lib/meshchat/net/request.rb +0 -29
  121. data/lib/meshchat/notifier/base.rb +0 -31
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+ module Meshchat
3
+ module Ui
4
+ module Display
5
+ class Base
6
+ # instantiate the UI, startup the CLI
7
+ def start
8
+ raise 'overload this method'
9
+ end
10
+
11
+ # output a generic line of text
12
+ def add_line(_line)
13
+ raise 'overload this method'
14
+ end
15
+
16
+ # formatter for a whisper message
17
+ def whisper(_line)
18
+ raise 'overload this method'
19
+ end
20
+
21
+ # an emote
22
+ def emote(_line)
23
+ raise 'overload this method'
24
+ end
25
+
26
+ # server info or other ignorable information
27
+ def info(_line)
28
+ raise 'overload this method'
29
+ end
30
+
31
+ # warning message that the user may or may not care about
32
+ def warning(_line)
33
+ raise 'overload this method'
34
+ end
35
+
36
+ # really try to get the user's attention
37
+ def alert(_line)
38
+ raise 'overload this method'
39
+ end
40
+
41
+ # a happy message to affirm the user something succeded
42
+ def success(_line)
43
+ raise 'overload this method'
44
+ end
45
+
46
+ # general chat message
47
+ def chat(_line)
48
+ raise 'overload this method'
49
+ end
50
+
51
+ # log a message
52
+ def log(_msg)
53
+ raise 'overload this method'
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+ module Meshchat
3
+ module Ui
4
+ module Display
5
+ class Manager
6
+ attr_accessor :_ui
7
+
8
+ delegate :start, to: :_ui
9
+ delegate :add_line, to: :_ui
10
+ delegate :info, to: :_ui
11
+ delegate :emote, to: :_ui
12
+ delegate :warning, to: :_ui
13
+ delegate :alert, to: :_ui
14
+ delegate :success, to: :_ui
15
+ delegate :chat, to: :_ui
16
+ delegate :whisper, to: :_ui
17
+
18
+ attr_accessor :_logger
19
+ delegate :fatal, to: :_logger
20
+ delegate :debug, to: :_logger
21
+ delegate :error, to: :_logger
22
+
23
+ def initialize(ui_klass)
24
+ self._logger = Logger.new('debug.log')
25
+ self._ui = ui_klass.new
26
+ end
27
+
28
+ def present_message(message)
29
+ result = message.handle
30
+ return unless result
31
+
32
+ case message.class.name
33
+ when Network::Message::Chat.name
34
+ chat result
35
+ notify(summary: message.sender_name, body: message.message)
36
+ when Network::Message::Whisper.name
37
+ whisper result
38
+ notify(summary: message.sender_name, body: message.message)
39
+ when Network::Message::Emote.name
40
+ emote result
41
+ notify(summary: message.sender_name, body: message.message)
42
+ when Network::Message::PingReply.name, Network::Message::Ping.name
43
+ info result
44
+ when Network::Message::NodeList.name,
45
+ Network::Message::NodeListDiff.name,
46
+ Network::Message::NodeListHash.name
47
+ # display nothing
48
+ else
49
+ add_line result
50
+ end
51
+ end
52
+
53
+ def notify(*args)
54
+ Notify.show(*args) if defined? Notify and Notify
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+ module Meshchat
3
+ module Ui
4
+ module Notifier
5
+ extend ActiveSupport::Autoload
6
+ autoload :Base
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+ module Meshchat
3
+ module Ui
4
+ module Notifier
5
+ # This is the default notification implementation
6
+ # - Uses Libnotify
7
+ #
8
+ #
9
+ # Only use one notification and update continuously, so that
10
+ # the notification area / tray doesn't become flooded by this app
11
+ #
12
+ # To write your own notifier, just override the show method in a
13
+ # subclass of this class
14
+ class Base
15
+ # Notifier::Base is a singleton
16
+ # Not all Notifiers need to be singletons,
17
+ # but it doesn't really make sense to have more than one.
18
+ # An OS generally only has one notification system
19
+ class << self
20
+ delegate :show, to: :instance
21
+
22
+ def instance
23
+ @instance ||= new
24
+ end
25
+ end
26
+
27
+ def show(*args)
28
+ # by default don't notify
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,3 +1,4 @@
1
- module MeshChat
2
- VERSION = '0.8.0'
1
+ # frozen_string_literal: true
2
+ module Meshchat
3
+ VERSION = '0.10.0'
3
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meshchat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - L. Preston Sego III
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-22 00:00:00.000000000 Z
11
+ date: 2016-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sqlite3
@@ -16,112 +16,140 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 1.3.11
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 1.3.11
27
27
  - !ruby/object:Gem::Dependency
28
- name: thin
28
+ name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 5.0.0.beta3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 5.0.0.beta3
41
41
  - !ruby/object:Gem::Dependency
42
- name: sinatra
42
+ name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 5.0.0.beta3
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 5.0.0.beta3
55
55
  - !ruby/object:Gem::Dependency
56
- name: curb
56
+ name: colorize
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 0.7.7
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 0.7.7
69
69
  - !ruby/object:Gem::Dependency
70
- name: activerecord
70
+ name: awesome_print
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 1.6.1
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 1.6.1
83
83
  - !ruby/object:Gem::Dependency
84
- name: activesupport
84
+ name: eventmachine
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 1.2.0.1
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 1.2.0.1
97
97
  - !ruby/object:Gem::Dependency
98
- name: colorize
98
+ name: eventmachine_httpserver
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: 0.2.1
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: 0.2.1
111
111
  - !ruby/object:Gem::Dependency
112
- name: awesome_print
112
+ name: em-http-request
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 1.1.3
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 1.1.3
125
+ - !ruby/object:Gem::Dependency
126
+ name: action_cable_client
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: 1.2.6
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 1.2.6
139
+ - !ruby/object:Gem::Dependency
140
+ name: i18n
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: 0.7.0
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 0.7.0
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: rspec
127
155
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +164,20 @@ dependencies:
136
164
  - - ">="
137
165
  - !ruby/object:Gem::Version
138
166
  version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: yard
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
139
181
  - !ruby/object:Gem::Dependency
140
182
  name: pry-byebug
141
183
  requirement: !ruby/object:Gem::Requirement
@@ -178,7 +220,21 @@ dependencies:
178
220
  - - ">="
179
221
  - !ruby/object:Gem::Version
180
222
  version: '0'
181
- description: MeshChat core implementation written in ruby.
223
+ - !ruby/object:Gem::Dependency
224
+ name: em-websocket
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ description: Meshchat core implementation written in ruby.
182
238
  email: LPSego3+dev@gmail.com
183
239
  executables: []
184
240
  extensions: []
@@ -187,60 +243,73 @@ files:
187
243
  - CHANGELOG.md
188
244
  - README.md
189
245
  - lib/meshchat.rb
190
- - lib/meshchat/cli.rb
191
- - lib/meshchat/cli/base.rb
192
- - lib/meshchat/cli/input.rb
193
- - lib/meshchat/command/base.rb
194
- - lib/meshchat/command/bind.rb
195
- - lib/meshchat/command/chat.rb
196
- - lib/meshchat/command/config.rb
197
- - lib/meshchat/command/emote.rb
198
- - lib/meshchat/command/exit.rb
199
- - lib/meshchat/command/help.rb
200
- - lib/meshchat/command/identity.rb
201
- - lib/meshchat/command/import.rb
202
- - lib/meshchat/command/init.rb
203
- - lib/meshchat/command/irb.rb
204
- - lib/meshchat/command/listen.rb
205
- - lib/meshchat/command/offline.rb
206
- - lib/meshchat/command/online.rb
207
- - lib/meshchat/command/ping.rb
208
- - lib/meshchat/command/ping_all.rb
209
- - lib/meshchat/command/send_disconnect.rb
210
- - lib/meshchat/command/server.rb
211
- - lib/meshchat/command/share.rb
212
- - lib/meshchat/command/stop_listening.rb
213
- - lib/meshchat/command/whisper.rb
214
- - lib/meshchat/config/hash_file.rb
215
- - lib/meshchat/config/settings.rb
216
- - lib/meshchat/database.rb
217
- - lib/meshchat/display.rb
218
- - lib/meshchat/display/base.rb
219
- - lib/meshchat/display/manager.rb
246
+ - lib/meshchat/configuration.rb
247
+ - lib/meshchat/configuration/app_config.rb
248
+ - lib/meshchat/configuration/database.rb
249
+ - lib/meshchat/configuration/hash_file.rb
250
+ - lib/meshchat/configuration/identity.rb
251
+ - lib/meshchat/configuration/settings.rb
252
+ - lib/meshchat/debug.rb
220
253
  - lib/meshchat/encryption.rb
221
254
  - lib/meshchat/encryption/aes_rsa.rb
222
255
  - lib/meshchat/encryption/passthrough.rb
223
- - lib/meshchat/instance.rb
224
- - lib/meshchat/message.rb
225
- - lib/meshchat/message/base.rb
226
- - lib/meshchat/message/chat.rb
227
- - lib/meshchat/message/disconnect.rb
228
- - lib/meshchat/message/emote.rb
229
- - lib/meshchat/message/node_list.rb
230
- - lib/meshchat/message/node_list_diff.rb
231
- - lib/meshchat/message/node_list_hash.rb
232
- - lib/meshchat/message/ping.rb
233
- - lib/meshchat/message/ping_reply.rb
234
- - lib/meshchat/message/relay.rb
235
- - lib/meshchat/message/whisper.rb
236
- - lib/meshchat/models/entry.rb
237
- - lib/meshchat/net/client.rb
238
- - lib/meshchat/net/listener/errors.rb
239
- - lib/meshchat/net/listener/request.rb
240
- - lib/meshchat/net/listener/request_processor.rb
241
- - lib/meshchat/net/listener/server.rb
242
- - lib/meshchat/net/request.rb
243
- - lib/meshchat/notifier/base.rb
256
+ - lib/meshchat/locale/en.yml
257
+ - lib/meshchat/models/node.rb
258
+ - lib/meshchat/network.rb
259
+ - lib/meshchat/network/dispatcher.rb
260
+ - lib/meshchat/network/errors.rb
261
+ - lib/meshchat/network/incoming.rb
262
+ - lib/meshchat/network/incoming/message_decryptor.rb
263
+ - lib/meshchat/network/incoming/message_processor.rb
264
+ - lib/meshchat/network/incoming/request_processor.rb
265
+ - lib/meshchat/network/local.rb
266
+ - lib/meshchat/network/local/connection.rb
267
+ - lib/meshchat/network/local/server.rb
268
+ - lib/meshchat/network/message.rb
269
+ - lib/meshchat/network/message/base.rb
270
+ - lib/meshchat/network/message/chat.rb
271
+ - lib/meshchat/network/message/disconnect.rb
272
+ - lib/meshchat/network/message/emote.rb
273
+ - lib/meshchat/network/message/factory.rb
274
+ - lib/meshchat/network/message/node_list.rb
275
+ - lib/meshchat/network/message/node_list_diff.rb
276
+ - lib/meshchat/network/message/node_list_hash.rb
277
+ - lib/meshchat/network/message/ping.rb
278
+ - lib/meshchat/network/message/ping_reply.rb
279
+ - lib/meshchat/network/message/whisper.rb
280
+ - lib/meshchat/network/remote.rb
281
+ - lib/meshchat/network/remote/connection.rb
282
+ - lib/meshchat/network/remote/relay.rb
283
+ - lib/meshchat/network/remote/relay_pool.rb
284
+ - lib/meshchat/ui.rb
285
+ - lib/meshchat/ui/cli.rb
286
+ - lib/meshchat/ui/cli/base.rb
287
+ - lib/meshchat/ui/cli/input_factory.rb
288
+ - lib/meshchat/ui/cli/keyboard_line_input.rb
289
+ - lib/meshchat/ui/command.rb
290
+ - lib/meshchat/ui/command/base.rb
291
+ - lib/meshchat/ui/command/bind.rb
292
+ - lib/meshchat/ui/command/chat.rb
293
+ - lib/meshchat/ui/command/config.rb
294
+ - lib/meshchat/ui/command/emote.rb
295
+ - lib/meshchat/ui/command/exit.rb
296
+ - lib/meshchat/ui/command/help.rb
297
+ - lib/meshchat/ui/command/identity.rb
298
+ - lib/meshchat/ui/command/import.rb
299
+ - lib/meshchat/ui/command/irb.rb
300
+ - lib/meshchat/ui/command/offline.rb
301
+ - lib/meshchat/ui/command/online.rb
302
+ - lib/meshchat/ui/command/ping.rb
303
+ - lib/meshchat/ui/command/ping_all.rb
304
+ - lib/meshchat/ui/command/send_disconnect.rb
305
+ - lib/meshchat/ui/command/server.rb
306
+ - lib/meshchat/ui/command/share.rb
307
+ - lib/meshchat/ui/command/whisper.rb
308
+ - lib/meshchat/ui/display.rb
309
+ - lib/meshchat/ui/display/base.rb
310
+ - lib/meshchat/ui/display/manager.rb
311
+ - lib/meshchat/ui/notifier.rb
312
+ - lib/meshchat/ui/notifier/base.rb
244
313
  - lib/meshchat/version.rb
245
314
  homepage: https://github.com/NullVoxPopuli/meshchat
246
315
  licenses:
@@ -254,7 +323,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
254
323
  requirements:
255
324
  - - ">="
256
325
  - !ruby/object:Gem::Version
257
- version: '2.0'
326
+ version: 2.3.0
258
327
  required_rubygems_version: !ruby/object:Gem::Requirement
259
328
  requirements:
260
329
  - - ">="
@@ -262,8 +331,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
262
331
  version: '0'
263
332
  requirements: []
264
333
  rubyforge_project:
265
- rubygems_version: 2.4.8
334
+ rubygems_version: 2.5.1
266
335
  signing_key:
267
336
  specification_version: 4
268
- summary: MeshChat-0.8.0
337
+ summary: Meshchat-0.10.0
269
338
  test_files: []
339
+ has_rdoc: