ji2p 0.0.3-java

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 (63) hide show
  1. checksums.yaml +7 -0
  2. data/bin/bundle +15 -0
  3. data/bin/ctxirb +119 -0
  4. data/bin/simple_http_server +20 -0
  5. data/bin/simple_outproxy +96 -0
  6. data/lib/actor_system/actor.rb +10 -0
  7. data/lib/actor_system/concurrent/processor.rb +21 -0
  8. data/lib/actor_system/concurrent/worker.rb +13 -0
  9. data/lib/actor_system/core/minimal.rb +84 -0
  10. data/lib/actor_system/core/observable_implementation.rb +58 -0
  11. data/lib/actor_system/core/props.rb +45 -0
  12. data/lib/actor_system/dispatcher.rb +12 -0
  13. data/lib/actor_system/mailbox.rb +7 -0
  14. data/lib/actor_system/message.rb +60 -0
  15. data/lib/core_ext.rb +41 -0
  16. data/lib/gen_server.rb +57 -0
  17. data/lib/ji2p.rb +37 -0
  18. data/lib/ji2p/bundler.rb +165 -0
  19. data/lib/ji2p/cluster.rb +6 -0
  20. data/lib/ji2p/cluster/etcd.rb +5 -0
  21. data/lib/ji2p/cluster/etcd/version3.rb +6 -0
  22. data/lib/ji2p/cluster/kubernetes.rb +5 -0
  23. data/lib/ji2p/cluster/kubernetes/kube_api.rb +6 -0
  24. data/lib/ji2p/concurrent.rb +24 -0
  25. data/lib/ji2p/concurrent_executor.rb +56 -0
  26. data/lib/ji2p/config.rb +15 -0
  27. data/lib/ji2p/control.rb +15 -0
  28. data/lib/ji2p/control/client_manager.rb +14 -0
  29. data/lib/ji2p/control/dest.rb +34 -0
  30. data/lib/ji2p/control/keypair.rb +176 -0
  31. data/lib/ji2p/control/server.rb +80 -0
  32. data/lib/ji2p/control/socket_manager.rb +77 -0
  33. data/lib/ji2p/control/tunnel_manager.rb +62 -0
  34. data/lib/ji2p/environment.rb +35 -0
  35. data/lib/ji2p/gem_installer.rb +89 -0
  36. data/lib/ji2p/jar_dependencies.rb +15 -0
  37. data/lib/ji2p/proxy_support.rb +46 -0
  38. data/lib/ji2p/rspec.rb +16 -0
  39. data/lib/ji2p/server.rb +10 -0
  40. data/lib/ji2p/server/api.rb +14 -0
  41. data/lib/ji2p/server/database.rb +66 -0
  42. data/lib/ji2p/server/http.rb +69 -0
  43. data/lib/ji2p/server/http_server.rb +37 -0
  44. data/lib/ji2p/server/initializer.rb +4 -0
  45. data/lib/ji2p/server/launcher.rb +40 -0
  46. data/lib/ji2p/server/models.rb +9 -0
  47. data/lib/ji2p/server/models/base_record.rb +7 -0
  48. data/lib/ji2p/server/models/keypair.rb +32 -0
  49. data/lib/ji2p/server/models/tunnel.rb +4 -0
  50. data/lib/ji2p/startup.rb +12 -0
  51. data/lib/ji2p/startup/bootstrap.rb +60 -0
  52. data/lib/ji2p/startup/client_application.rb +20 -0
  53. data/lib/ji2p/startup/router_manager.rb +21 -0
  54. data/lib/ji2p/startup/sinatra_app.rb +61 -0
  55. data/lib/ji2p/utils/blocking_queue.rb +32 -0
  56. data/lib/ji2p/version.rb +3 -0
  57. data/lib/ji2p_jars.rb +16 -0
  58. data/lib/maybe.rb +148 -0
  59. data/lib/net/i2p/client/mstreaming/0.9.43/mstreaming-0.9.43.jar +0 -0
  60. data/lib/net/i2p/client/streaming/0.9.43/streaming-0.9.43.jar +0 -0
  61. data/lib/net/i2p/i2p/0.9.43/i2p-0.9.43.jar +0 -0
  62. data/lib/net/i2p/router/0.9.43/router-0.9.43.jar +0 -0
  63. metadata +375 -0
data/lib/maybe.rb ADDED
@@ -0,0 +1,148 @@
1
+ class Object
2
+ def try(*a, &b)
3
+ if a.empty? && block_given?
4
+ yield self
5
+ else
6
+ public_send(*a, &b) if respond_to?(a.first)
7
+ end
8
+ end
9
+ end
10
+
11
+ class NilClass
12
+ def try(*args)
13
+ nil
14
+ end
15
+
16
+ def method_missing(method, *args)
17
+ nil
18
+ end
19
+ end
20
+
21
+ Optional = Struct.new(:value) do
22
+ def and_then(&block)
23
+ if value.nil?
24
+ Optional.new(nil)
25
+ else
26
+ block.call(value)
27
+ end
28
+ end
29
+
30
+ def method_missing(*args, &block)
31
+ and_then do |value|
32
+ Optional.new(value.public_send(*args, &block))
33
+ end
34
+ end
35
+ end
36
+
37
+ Many = Struct.new(:values) do
38
+ def and_then(&block)
39
+ Many.new(
40
+ values.map(&block).flat_map(&:values)
41
+ )
42
+ end
43
+ end
44
+
45
+ Eventually = Struct.new(:block) do
46
+ def and_then(&block)
47
+ Eventually.new do |success|
48
+ run do |value|
49
+ block.call(value).run(&success)
50
+ end
51
+ end
52
+ end
53
+ end
54
+
55
+ module Monad
56
+ def within(&block)
57
+ and_then do |value|
58
+ self.class.from_value(block.call(value))
59
+ end
60
+ end
61
+ end
62
+
63
+ Optional.include(Monad)
64
+ Many.include(Monad)
65
+ Eventually.include(Monad)
66
+
67
+
68
+ class Maybe
69
+ class Some
70
+ end
71
+ class None
72
+ end
73
+ end
74
+
75
+ module Functional
76
+ extend self
77
+ class Option
78
+ (Enumerable.instance_methods << :each).each do |enumerable_method|
79
+ define_method(enumerable_method) do |*args, &block|
80
+ res = enumerable_value.send(enumerable_method, *args, &block)
81
+ res.respond_to?(:each) ? Option(res.first) : res
82
+ end
83
+ end
84
+
85
+ alias_method :enumerable_value, :to_a
86
+ end
87
+
88
+ def Option(value)
89
+ if value.nil? || (value.respond_to?(:length) && value.length == 0)
90
+ None()
91
+ else
92
+ Some(value)
93
+ end
94
+ end
95
+
96
+ class None < Option
97
+ def get
98
+ fail 'No such element'
99
+ end
100
+
101
+ def or_else(default = nil)
102
+ block_given? ? yield : default
103
+ end
104
+
105
+ def method_missing(*)
106
+ self
107
+ end
108
+
109
+ private
110
+ def enumerable_value
111
+ []
112
+ end
113
+ end
114
+
115
+ def None
116
+ None.new
117
+ end
118
+
119
+ class Some < Option
120
+ def initialize(value)
121
+ @value = value
122
+ end
123
+
124
+ def get
125
+ value
126
+ end
127
+
128
+ def or_else(*)
129
+ value
130
+ end
131
+
132
+ def method_missing(method_sym, *args, &block)
133
+ map { |value| value.send(method_sym, *args, &block) }
134
+ end
135
+
136
+ private
137
+ attr_reader :value
138
+
139
+ def enumerable_value
140
+ [value]
141
+ end
142
+ end
143
+
144
+ def Some(value)
145
+ Some.new(value)
146
+ end
147
+ end
148
+
metadata ADDED
@@ -0,0 +1,375 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ji2p
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: java
6
+ authors:
7
+ - Mikal Villa
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-11-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 4.1.11
19
+ name: activesupport
20
+ prerelease: false
21
+ type: :runtime
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 4.1.11
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.10.0
33
+ name: httparty
34
+ prerelease: false
35
+ type: :runtime
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 0.10.0
41
+ - !ruby/object:Gem::Dependency
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 3.0.18
47
+ name: activerecord
48
+ prerelease: false
49
+ type: :runtime
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 3.0.18
55
+ - !ruby/object:Gem::Dependency
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ name: activerecord-jdbc-adapter
62
+ prerelease: false
63
+ type: :runtime
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ name: activerecord-jdbcsqlite3-adapter
76
+ prerelease: false
77
+ type: :runtime
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ name: dbi
90
+ prerelease: false
91
+ type: :runtime
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ name: dbd-jdbc
104
+ prerelease: false
105
+ type: :runtime
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ name: puma
118
+ prerelease: false
119
+ type: :runtime
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ name: jruby-rack
132
+ prerelease: false
133
+ type: :runtime
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: 1.5.2
145
+ name: rack
146
+ prerelease: false
147
+ type: :runtime
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 1.5.2
153
+ - !ruby/object:Gem::Dependency
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ name: jar-dependencies
160
+ prerelease: false
161
+ type: :runtime
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ name: awesome_print
174
+ prerelease: false
175
+ type: :development
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ requirement: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ name: rake
188
+ prerelease: false
189
+ type: :development
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ requirement: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ name: rspec
202
+ prerelease: false
203
+ type: :development
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ requirement: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ name: pry
216
+ prerelease: false
217
+ type: :development
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ requirement: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - "~>"
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ name: sinatra
230
+ prerelease: false
231
+ type: :development
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ requirement: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - "~>"
241
+ - !ruby/object:Gem::Version
242
+ version: '3.0'
243
+ name: irbtools
244
+ prerelease: false
245
+ type: :development
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '3.0'
251
+ - !ruby/object:Gem::Dependency
252
+ requirement: !ruby/object:Gem::Requirement
253
+ requirements:
254
+ - - "~>"
255
+ - !ruby/object:Gem::Version
256
+ version: '0'
257
+ name: warbler
258
+ prerelease: false
259
+ type: :development
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ requirement: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - "~>"
269
+ - !ruby/object:Gem::Version
270
+ version: '3.3'
271
+ name: ruby-maven
272
+ prerelease: false
273
+ type: :development
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '3.3'
279
+ description: JRuby interface for I2P
280
+ email: mikalv@mikalv.net
281
+ executables: []
282
+ extensions: []
283
+ extra_rdoc_files: []
284
+ files:
285
+ - bin/bundle
286
+ - bin/ctxirb
287
+ - bin/simple_http_server
288
+ - bin/simple_outproxy
289
+ - lib/actor_system/actor.rb
290
+ - lib/actor_system/concurrent/processor.rb
291
+ - lib/actor_system/concurrent/worker.rb
292
+ - lib/actor_system/core/minimal.rb
293
+ - lib/actor_system/core/observable_implementation.rb
294
+ - lib/actor_system/core/props.rb
295
+ - lib/actor_system/dispatcher.rb
296
+ - lib/actor_system/mailbox.rb
297
+ - lib/actor_system/message.rb
298
+ - lib/core_ext.rb
299
+ - lib/gen_server.rb
300
+ - lib/ji2p.rb
301
+ - lib/ji2p/bundler.rb
302
+ - lib/ji2p/cluster.rb
303
+ - lib/ji2p/cluster/etcd.rb
304
+ - lib/ji2p/cluster/etcd/version3.rb
305
+ - lib/ji2p/cluster/kubernetes.rb
306
+ - lib/ji2p/cluster/kubernetes/kube_api.rb
307
+ - lib/ji2p/concurrent.rb
308
+ - lib/ji2p/concurrent_executor.rb
309
+ - lib/ji2p/config.rb
310
+ - lib/ji2p/control.rb
311
+ - lib/ji2p/control/client_manager.rb
312
+ - lib/ji2p/control/dest.rb
313
+ - lib/ji2p/control/keypair.rb
314
+ - lib/ji2p/control/server.rb
315
+ - lib/ji2p/control/socket_manager.rb
316
+ - lib/ji2p/control/tunnel_manager.rb
317
+ - lib/ji2p/environment.rb
318
+ - lib/ji2p/gem_installer.rb
319
+ - lib/ji2p/jar_dependencies.rb
320
+ - lib/ji2p/proxy_support.rb
321
+ - lib/ji2p/rspec.rb
322
+ - lib/ji2p/server.rb
323
+ - lib/ji2p/server/api.rb
324
+ - lib/ji2p/server/database.rb
325
+ - lib/ji2p/server/http.rb
326
+ - lib/ji2p/server/http_server.rb
327
+ - lib/ji2p/server/initializer.rb
328
+ - lib/ji2p/server/launcher.rb
329
+ - lib/ji2p/server/models.rb
330
+ - lib/ji2p/server/models/base_record.rb
331
+ - lib/ji2p/server/models/keypair.rb
332
+ - lib/ji2p/server/models/tunnel.rb
333
+ - lib/ji2p/startup.rb
334
+ - lib/ji2p/startup/bootstrap.rb
335
+ - lib/ji2p/startup/client_application.rb
336
+ - lib/ji2p/startup/router_manager.rb
337
+ - lib/ji2p/startup/sinatra_app.rb
338
+ - lib/ji2p/utils/blocking_queue.rb
339
+ - lib/ji2p/version.rb
340
+ - lib/ji2p_jars.rb
341
+ - lib/maybe.rb
342
+ - lib/net/i2p/client/mstreaming/0.9.43/mstreaming-0.9.43.jar
343
+ - lib/net/i2p/client/streaming/0.9.43/streaming-0.9.43.jar
344
+ - lib/net/i2p/i2p/0.9.43/i2p-0.9.43.jar
345
+ - lib/net/i2p/router/0.9.43/router-0.9.43.jar
346
+ homepage: https://github.com/mikalv/ji2p
347
+ licenses:
348
+ - Apache-2.0
349
+ metadata:
350
+ allowed_push_host: https://rubygems.org
351
+ post_install_message:
352
+ rdoc_options: []
353
+ require_paths:
354
+ - lib
355
+ required_ruby_version: !ruby/object:Gem::Requirement
356
+ requirements:
357
+ - - ">="
358
+ - !ruby/object:Gem::Version
359
+ version: '0'
360
+ required_rubygems_version: !ruby/object:Gem::Requirement
361
+ requirements:
362
+ - - ">="
363
+ - !ruby/object:Gem::Version
364
+ version: '0'
365
+ requirements:
366
+ - jar net.i2p.client, streaming, 0.9.43
367
+ - jar net.i2p.client, mstreaming, 0.9.43
368
+ - jar net.i2p, i2p, 0.9.43
369
+ - jar net.i2p, router, 0.9.43
370
+ rubyforge_project:
371
+ rubygems_version: 2.7.10
372
+ signing_key:
373
+ specification_version: 4
374
+ summary: JRuby interface for I2P
375
+ test_files: []