krakenlab 2018.01.07

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.
@@ -0,0 +1,28 @@
1
+ require 'socket'
2
+ require 'kraken/core/handlers/factory'
3
+
4
+ module Kraken
5
+ # This class receives the TCP connections.
6
+ class Listener
7
+ def initialize
8
+ @manager = TCPServer.new 3030
9
+ @thread = Thread.new { start }
10
+ end
11
+
12
+ def start
13
+ loop do
14
+ Kraken::HandlerFactory.create(@manager.accept)
15
+ Kraken::Log.info 'wild socket appeared!'
16
+ end
17
+ end
18
+
19
+ def close
20
+ @thread.kill
21
+ @manager.close
22
+ end
23
+
24
+ def join
25
+ @thread.join
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,50 @@
1
+ require 'logger'
2
+
3
+ module Kraken
4
+ # This class displays the application state records.
5
+ class Log
6
+ def self.close
7
+ @closed = true
8
+ end
9
+
10
+ def self.log
11
+ @closed ||= false
12
+ if @logger.nil?
13
+ @logger = Logger.new STDOUT
14
+ @logger.level = Logger::DEBUG
15
+ @logger.datetime_format = '%Y-%m-%d %H:%M:%S '
16
+ end
17
+ @logger
18
+ end
19
+
20
+ def self.info(obj)
21
+ return if @closed
22
+ log.info obj
23
+ end
24
+
25
+ def self.unknown(obj)
26
+ return if @closed
27
+ log.unknown obj
28
+ end
29
+
30
+ def self.fatal(obj)
31
+ return if @closed
32
+ log.fatal obj
33
+ end
34
+
35
+ def self.error(obj)
36
+ return if @closed
37
+ log.error obj
38
+ end
39
+
40
+ def self.warn(obj)
41
+ return if @closed
42
+ log.warn obj
43
+ end
44
+
45
+ def self.debug(obj)
46
+ return if @closed
47
+ log.debug obj
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,24 @@
1
+ require 'ohm'
2
+ require 'yaml'
3
+ require 'active_record'
4
+ require 'active_record_migrations'
5
+
6
+ # In db.rb file has some definitions to warp modules from other gens to Kraken framework.
7
+ module Kraken
8
+ StaticModel = ActiveRecord::Base
9
+ Migration = ActiveRecord::Migration
10
+ Migrations = ActiveRecordMigrations
11
+
12
+ Ohm.redis = Redic.new
13
+
14
+ if File.exist? 'db/config.yml'
15
+ Kraken::StaticModel.establish_connection(YAML.safe_load(File.read('config/db.yml'))['development'])
16
+ else
17
+ Kraken::StaticModel.establish_connection(adapter: 'postgresql',
18
+ database: 'kraken',
19
+ host: 'localhost',
20
+ port: '5432',
21
+ username: 'postgres',
22
+ password: 'postgres')
23
+ end
24
+ end
@@ -0,0 +1,25 @@
1
+ require 'ohm'
2
+ require 'kraken/models/db'
3
+
4
+ module Kraken
5
+ # Every class that represents data must inherit this object.
6
+ #
7
+ # class Event < Kraken::Model
8
+ # attribute :name
9
+ # reference :venue, :Venue
10
+ # set :participants, :Person
11
+ # counter :votes
12
+ #
13
+ # index :name
14
+ # end
15
+ #
16
+ # More in: https://github.com/soveran/ohm
17
+ class MemoryModel < Ohm::Model
18
+ def delete
19
+ on_delete
20
+ super()
21
+ end
22
+
23
+ def on_delete(); end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ module Kraken
2
+ # This class is responsible for describing the events that can be
3
+ # triggered by the connections.
4
+ #
5
+ # class Example < Kraken::Trigger
6
+ # def run
7
+ # Kraken::Log.info params
8
+ # end
9
+ # end
10
+ class Trigger
11
+ attr_reader :handler, :params
12
+ attr_accessor :callback, :connection
13
+
14
+ def initialize(handler, params)
15
+ @handler = handler
16
+ @connection = handler.connection
17
+ @params = params
18
+ @callback = nil
19
+ end
20
+
21
+ def run
22
+ Log.warn "run method was not found for class '#{self.class}'"
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,3 @@
1
+ module Kraken
2
+ VERSION = '2018.01.07'.freeze
3
+ end
metadata ADDED
@@ -0,0 +1,374 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: krakenlab
3
+ version: !ruby/object:Gem::Version
4
+ version: 2018.01.07
5
+ platform: ruby
6
+ authors:
7
+ - Marlon Henry Schweigert
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-01-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: active_record_migrations
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 5.0.2.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 5.0.2.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: activerecord
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 5.0.0.1
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '5.0'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 5.0.0.1
47
+ - !ruby/object:Gem::Dependency
48
+ name: logger
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: ohm
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: pg
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: project_creator
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - '='
94
+ - !ruby/object:Gem::Version
95
+ version: 2018.1.1
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - '='
101
+ - !ruby/object:Gem::Version
102
+ version: 2018.1.1
103
+ - !ruby/object:Gem::Dependency
104
+ name: require_all
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - '='
108
+ - !ruby/object:Gem::Version
109
+ version: 1.5.0
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - '='
115
+ - !ruby/object:Gem::Version
116
+ version: 1.5.0
117
+ - !ruby/object:Gem::Dependency
118
+ name: bundler
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.16'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.16'
131
+ - !ruby/object:Gem::Dependency
132
+ name: danger
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: danger-github_ext
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: danger-simplecov_json
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ - !ruby/object:Gem::Dependency
174
+ name: danger-todoist
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ - !ruby/object:Gem::Dependency
188
+ name: faker
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ - !ruby/object:Gem::Dependency
202
+ name: pronto
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - ">="
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ type: :development
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ - !ruby/object:Gem::Dependency
216
+ name: pronto-flay
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ type: :development
223
+ prerelease: false
224
+ version_requirements: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ - !ruby/object:Gem::Dependency
230
+ name: pronto-rubocop
231
+ requirement: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
236
+ type: :development
237
+ prerelease: false
238
+ version_requirements: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: '0'
243
+ - !ruby/object:Gem::Dependency
244
+ name: pry
245
+ requirement: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - '='
248
+ - !ruby/object:Gem::Version
249
+ version: 0.11.3
250
+ type: :development
251
+ prerelease: false
252
+ version_requirements: !ruby/object:Gem::Requirement
253
+ requirements:
254
+ - - '='
255
+ - !ruby/object:Gem::Version
256
+ version: 0.11.3
257
+ - !ruby/object:Gem::Dependency
258
+ name: rake
259
+ requirement: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - '='
262
+ - !ruby/object:Gem::Version
263
+ version: 12.3.0
264
+ type: :development
265
+ prerelease: false
266
+ version_requirements: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - '='
269
+ - !ruby/object:Gem::Version
270
+ version: 12.3.0
271
+ - !ruby/object:Gem::Dependency
272
+ name: redis
273
+ requirement: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ type: :development
279
+ prerelease: false
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ requirements:
282
+ - - ">="
283
+ - !ruby/object:Gem::Version
284
+ version: '0'
285
+ - !ruby/object:Gem::Dependency
286
+ name: rspec
287
+ requirement: !ruby/object:Gem::Requirement
288
+ requirements:
289
+ - - '='
290
+ - !ruby/object:Gem::Version
291
+ version: '3.7'
292
+ type: :development
293
+ prerelease: false
294
+ version_requirements: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - '='
297
+ - !ruby/object:Gem::Version
298
+ version: '3.7'
299
+ - !ruby/object:Gem::Dependency
300
+ name: rubocop
301
+ requirement: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - '='
304
+ - !ruby/object:Gem::Version
305
+ version: 0.52.0
306
+ type: :development
307
+ prerelease: false
308
+ version_requirements: !ruby/object:Gem::Requirement
309
+ requirements:
310
+ - - '='
311
+ - !ruby/object:Gem::Version
312
+ version: 0.52.0
313
+ description: A Easy way to project your MMO Server.
314
+ email:
315
+ - fleyhe0@gmail.com
316
+ executables:
317
+ - kraken
318
+ extensions: []
319
+ extra_rdoc_files: []
320
+ files:
321
+ - ".gitignore"
322
+ - ".pronto.yml"
323
+ - ".rspec"
324
+ - ".rubocop.yml"
325
+ - ".travis.yml"
326
+ - Dangerfile
327
+ - Gemfile
328
+ - LICENSE
329
+ - README.md
330
+ - Rakefile
331
+ - bin/console
332
+ - bin/kraken
333
+ - bin/setup
334
+ - kraken.gemspec
335
+ - lib/kraken.rb
336
+ - lib/kraken/constants/project.rb
337
+ - lib/kraken/core/app.rb
338
+ - lib/kraken/core/client.rb
339
+ - lib/kraken/core/config.rb
340
+ - lib/kraken/core/connection.rb
341
+ - lib/kraken/core/handlers/factory.rb
342
+ - lib/kraken/core/handlers/godot30_handler.rb
343
+ - lib/kraken/core/handlers/handler.rb
344
+ - lib/kraken/core/listener.rb
345
+ - lib/kraken/core/log.rb
346
+ - lib/kraken/models/db.rb
347
+ - lib/kraken/models/model.rb
348
+ - lib/kraken/triggers/trigger.rb
349
+ - lib/kraken/version.rb
350
+ homepage: http://www.github.com/KrakenLab/kraken
351
+ licenses:
352
+ - MIT
353
+ metadata: {}
354
+ post_install_message:
355
+ rdoc_options: []
356
+ require_paths:
357
+ - lib
358
+ required_ruby_version: !ruby/object:Gem::Requirement
359
+ requirements:
360
+ - - ">="
361
+ - !ruby/object:Gem::Version
362
+ version: '0'
363
+ required_rubygems_version: !ruby/object:Gem::Requirement
364
+ requirements:
365
+ - - ">="
366
+ - !ruby/object:Gem::Version
367
+ version: '0'
368
+ requirements: []
369
+ rubyforge_project:
370
+ rubygems_version: 2.6.14
371
+ signing_key:
372
+ specification_version: 4
373
+ summary: Kraken Distribuited MMO Framework.
374
+ test_files: []