meshchat 0.8.0 → 0.10.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.
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: