rubypitaya 1.8.2 → 2.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 98578f08422524b11b61a8501ece0db64a473dc3d421292dc4f96736c2b97227
4
- data.tar.gz: ad35ec4d5ed83954a9fa0bca5c95d6fee579863b5826a63115c0f98b988bc4ea
3
+ metadata.gz: 22d3c8209b6441874334ea9dca6d209ff79ff63e5a5cbb4273125ac94bad12e7
4
+ data.tar.gz: 2d50b5319e1c113a92b5e67f76835a9be9706f4c60fc91185bdfa984cc576e25
5
5
  SHA512:
6
- metadata.gz: 18dc452f364538e9c9fd8c8fdd0b57b74c140fd7501fb6492f3bc954051803bb35e31c5f5f29a232438634eae9868aec710efc45133aeb3d3bd00203ed6d8223
7
- data.tar.gz: 7dee2039fc3efa7db3a25b439edace0cbd60cf12d84f13e0170c946f6a3bca5105fe92d16ac22c6b8092b4412faa389d8e1cce7812bfbdf75956b0b0c0ca8eb0
6
+ metadata.gz: 95b1cc17e073849eea4aa13fb9f00f99f016768be5aaaeb00e93571829d036fbc4abc3407b165001858cfae0e23473f3f91ffdb52f8d14f3339599e82209f998
7
+ data.tar.gz: 1918c5bbda757ef6566acf6f32c269d6aaa08dae329316651d9ac417f7774fe1d0c1ac2f685d498f1b15e891d4b2f72f4fe15e4a6d8ef6b1975c0d1a323903b3
@@ -1,6 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem 'rubypitaya', '1.8.2'
3
+ gem 'rubypitaya', '2.0.0'
4
4
 
5
5
  group :development do
6
6
  gem 'pry', '0.12.2'
@@ -62,7 +62,7 @@ GEM
62
62
  diff-lcs (>= 1.2.0, < 2.0)
63
63
  rspec-support (~> 3.8.0)
64
64
  rspec-support (3.8.3)
65
- rubypitaya (1.8.2)
65
+ rubypitaya (2.0.0)
66
66
  activerecord (= 6.0.2)
67
67
  etcdv3 (= 0.10.2)
68
68
  eventmachine (= 1.2.7)
@@ -85,7 +85,7 @@ DEPENDENCIES
85
85
  pry (= 0.12.2)
86
86
  rake (= 10.0)
87
87
  rspec (= 3.8.0)
88
- rubypitaya (= 1.8.2)
88
+ rubypitaya (= 2.0.0)
89
89
 
90
90
  BUNDLED WITH
91
91
  1.17.2
@@ -24,10 +24,11 @@ namespace :db do
24
24
  environment_name = ENV.fetch("RUBYPITAYA_ENV") { 'development' }
25
25
  database_config = RubyPitaya::DatabaseConfig.new(environment_name, RubyPitaya::Path::DATABASE_CONFIG_PATH)
26
26
  connection_data = database_config.connection_data
27
- migrations_path = RubyPitaya::Path::MIGRATIONS_FOLDER_PATH
27
+ migrations_paths = [RubyPitaya::Path::MIGRATIONS_FOLDER_PATH]
28
+ migrations_paths += RubyPitaya::Path::Plugins::MIGRATIONS_FOLDER_PATHS
28
29
 
29
30
  ActiveRecord::Base.establish_connection(connection_data)
30
- ActiveRecord::Migrator.migrations_paths = [migrations_path]
31
+ ActiveRecord::Migrator.migrations_paths = migrations_paths
31
32
  ActiveRecord::Tasks::DatabaseTasks.migrate
32
33
  ActiveRecord::Base.connection.close
33
34
  puts 'Database migrated.'
@@ -34,7 +34,7 @@ services:
34
34
  - 'etcd'
35
35
  - 'redis'
36
36
  ports:
37
- - '3252:3250'
37
+ - '3250:3250'
38
38
  environment:
39
39
  PITAYA_CLUSTER_RPC_SERVER_NATS_CONNECT: 'nats://nats:4222'
40
40
  PITAYA_CLUSTER_RPC_CLIENT_NATS_CONNECT: 'nats://nats:4222'
@@ -5,20 +5,26 @@ module RubyPitaya
5
5
  class ApplicationFilesImporter
6
6
 
7
7
  def import
8
- app_files_path = "#{Path::APP_FOLDER_PATH}/**/*.rb"
8
+ @app_folder_paths = [Path::APP_FOLDER_PATH] + Path::Plugins::APP_FOLDER_PATHS
9
9
 
10
- Gem.find_files(app_files_path).each { |path| require path }
10
+ @app_folder_paths.each do |app_folder_path|
11
+ app_files_path = "#{app_folder_path}/**/*.rb"
12
+
13
+ Gem.find_files(app_files_path).each { |path| require path }
14
+ end
11
15
  end
12
16
 
13
17
  def auto_reload
14
18
  require 'listen'
15
19
 
16
- @app_files_listener = Listen.to(Path::APP_FOLDER_PATH, only: /\.rb$/) do |modified, added, removed|
17
- import_added_files(added)
18
- reload_modified_files(modified)
19
- end
20
+ @app_folder_paths.each do |app_folder_path|
21
+ @app_files_listener = Listen.to(app_folder_path, only: /\.rb$/) do |modified, added, removed|
22
+ import_added_files(added)
23
+ reload_modified_files(modified)
24
+ end
20
25
 
21
- @app_files_listener.start
26
+ @app_files_listener.start
27
+ end
22
28
  end
23
29
 
24
30
  private
@@ -2,16 +2,17 @@ module RubyPitaya
2
2
 
3
3
  class Config
4
4
 
5
- def initialize(configs_folder_path)
6
- @configs_folder_path = configs_folder_path
7
-
8
- path_to_all_files = File.join(@configs_folder_path, '**/*.json')
9
- config_files = Dir.glob(path_to_all_files)
10
-
5
+ def initialize()
11
6
  @config = {}
7
+ @configs_folder_paths = [Path::APP_CONFIG_FOLDER_PATH] + Path::Plugins::APP_CONFIG_FOLDER_PATHS
12
8
 
13
- config_files.each do |config_file|
14
- load_config_file(config_file)
9
+ @configs_folder_paths.each do |configs_folder_path|
10
+ path_to_all_files = File.join(configs_folder_path, '**/*.json')
11
+ config_files = Dir.glob(path_to_all_files)
12
+
13
+ config_files.each do |config_file|
14
+ load_config_file(configs_folder_path, config_file)
15
+ end
15
16
  end
16
17
  end
17
18
 
@@ -26,21 +27,23 @@ module RubyPitaya
26
27
  def auto_reload
27
28
  require 'listen'
28
29
 
29
- @config_files_listener = Listen.to(@configs_folder_path, only: /\.json$/) do |modified, added, removed|
30
- import_added_files(added)
31
- reload_modified_files(modified)
32
- end
30
+ @configs_folder_paths.each do |configs_folder_path|
31
+ config_files_listener = Listen.to(configs_folder_path, only: /\.json$/) do |modified, added, removed|
32
+ import_added_files(configs_folder_path, added)
33
+ reload_modified_files(configs_folder_path, modified)
34
+ end
33
35
 
34
- @config_files_listener.start
36
+ config_files_listener.start
37
+ end
35
38
  end
36
39
 
37
40
  private
38
41
 
39
- def load_config_file(file_path)
42
+ def load_config_file(configs_folder_path, file_path)
40
43
  config_text = File.open(file_path, &:read)
41
44
  config_hash = JSON.parse(config_text)
42
45
 
43
- path_array = file_path.sub(/^#{@configs_folder_path}/, '')[0..-6]
46
+ path_array = file_path.sub(/^#{configs_folder_path}/, '')[0..-6]
44
47
  .split('/')
45
48
 
46
49
  set_config_value(path_array, config_hash)
@@ -50,17 +53,17 @@ module RubyPitaya
50
53
  puts error.backtrace
51
54
  end
52
55
 
53
- def import_added_files(files_path)
56
+ def import_added_files(configs_folder_path, files_path)
54
57
  files_path.each do |path|
55
- load_config_file(path)
58
+ load_config_file(configs_folder_path, path)
56
59
 
57
60
  puts "ADDED config: #{path}"
58
61
  end
59
62
  end
60
63
 
61
- def reload_modified_files(files_path)
64
+ def reload_modified_files(configs_folder_path, files_path)
62
65
  files_path.each do |path|
63
- load_config_file(path)
66
+ load_config_file(configs_folder_path, path)
64
67
 
65
68
  puts "MODIFIED @config: #{path}"
66
69
  end
@@ -4,9 +4,15 @@ module RubyPitaya
4
4
 
5
5
  class HandlerRouter
6
6
 
7
- def initialize(handler_folder_path, routes_path)
7
+ def initialize()
8
+ routes_path = Path::ROUTES_FILE_PATH
9
+ handler_folder_paths = [Path::HANDLERS_FOLDER_PATH] + Path::Plugins::HANDLERS_FOLDER_PATHS
10
+
8
11
  import_routes_file(routes_path)
9
- import_handler_files(handler_folder_path)
12
+
13
+ handler_folder_paths.each do |handler_folder_path|
14
+ import_handler_files(handler_folder_path)
15
+ end
10
16
 
11
17
  import_routes_class
12
18
  import_handler_classes
@@ -62,7 +62,7 @@ module RubyPitaya
62
62
 
63
63
  @session = Session.new
64
64
  @postman = Postman.new(@nats_connector)
65
- @config = Config.new(Path::APP_CONFIG_FOLDER_PATH)
65
+ @config = Config.new()
66
66
  @config.auto_reload if @is_development_environment
67
67
 
68
68
  @bll = InstanceHolder.new
@@ -71,8 +71,7 @@ module RubyPitaya
71
71
  @initializer_broadcast = InitializerBroadcast.new
72
72
  @initializer_broadcast.run(@initializer_content)
73
73
 
74
- @handler_router = HandlerRouter.new(Path::HANDLERS_FOLDER_PATH,
75
- Path::ROUTES_FILE_PATH)
74
+ @handler_router = HandlerRouter.new()
76
75
 
77
76
  run_server
78
77
  end
@@ -8,8 +8,16 @@ module RubyPitaya
8
8
  APP_FOLDER_PATH = File.join(Dir.pwd, 'app/')
9
9
  HANDLERS_FOLDER_PATH = File.join(Dir.pwd, 'app/handlers/')
10
10
  APP_CONFIG_FOLDER_PATH = File.join(Dir.pwd, 'app/config/')
11
- MIGRATIONS_FOLDER_PATH = File.join(Dir.pwd, 'db/migrate/')
11
+ MIGRATIONS_FOLDER_PATH = File.join(Dir.pwd, 'db/migration/')
12
12
 
13
13
  ROUTES_FILE_PATH = File.join(Dir.pwd, 'config/routes.rb')
14
+
15
+
16
+ class Plugins
17
+ APP_FOLDER_PATHS = Dir.glob(File.join(Dir.pwd, 'plugins/*/app/'))
18
+ HANDLERS_FOLDER_PATHS = Dir.glob(File.join(Dir.pwd, 'plugins/*/app/handlers'))
19
+ APP_CONFIG_FOLDER_PATHS = Dir.glob(File.join(Dir.pwd, 'plugins/*/app/config/'))
20
+ MIGRATIONS_FOLDER_PATHS = Dir.glob(File.join(Dir.pwd, 'plugins/*/db/migration'))
21
+ end
14
22
  end
15
23
  end
@@ -1,3 +1,3 @@
1
1
  module RubyPitaya
2
- VERSION = "1.8.2"
2
+ VERSION = '2.0.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubypitaya
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luciano Prestes Cavalcanti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-10 00:00:00.000000000 Z
11
+ date: 2020-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg
@@ -204,8 +204,8 @@ files:
204
204
  - "./lib/rubypitaya/app-template/bin/console"
205
205
  - "./lib/rubypitaya/app-template/config/database.yml"
206
206
  - "./lib/rubypitaya/app-template/config/routes.rb"
207
- - "./lib/rubypitaya/app-template/db/migrate/001_create_user_migration.rb"
208
- - "./lib/rubypitaya/app-template/db/migrate/002_create_player_migration.rb"
207
+ - "./lib/rubypitaya/app-template/db/migration/001_create_user_migration.rb"
208
+ - "./lib/rubypitaya/app-template/db/migration/002_create_player_migration.rb"
209
209
  - "./lib/rubypitaya/app-template/docker-compose.yml"
210
210
  - "./lib/rubypitaya/app-template/docker/dev/Dockerfile"
211
211
  - "./lib/rubypitaya/app-template/docker/entrypoint.sh"