rubypitaya 2.12.0 → 2.15.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 +4 -4
- data/bin/rubypitaya +1 -1
- data/lib/rubypitaya/app-template/Gemfile +1 -1
- data/lib/rubypitaya/app-template/Gemfile.lock +2 -2
- data/lib/rubypitaya/app-template/app/app_initializer.rb +39 -42
- data/lib/rubypitaya/app-template/app/bll/player_bll.rb +7 -10
- data/lib/rubypitaya/app-template/app/constants/status_codes.rb +19 -22
- data/lib/rubypitaya/app-template/app/handlers/hello_world_handler.rb +9 -12
- data/lib/rubypitaya/app-template/app/handlers/player_handler.rb +65 -68
- data/lib/rubypitaya/app-template/app/models/player.rb +9 -12
- data/lib/rubypitaya/app-template/config/routes.rb +1 -1
- data/lib/rubypitaya/app-template/features/player.feature +5 -5
- data/lib/rubypitaya/app-template/features/step_definitions/application_steps.rb +2 -2
- data/lib/rubypitaya/app-template/features/step_definitions/rubypitaya_steps.rb +12 -2
- data/lib/rubypitaya/app-template/spec/hello_world_handler_spec.rb +9 -12
- data/lib/rubypitaya/app-template/spec/player_handler_spec.rb +30 -33
- data/lib/rubypitaya/core/config.rb +12 -0
- data/lib/rubypitaya/core/main.rb +3 -1
- data/lib/rubypitaya/core/spec-helpers/config_spec_helper.rb +0 -1
- data/lib/rubypitaya/core/spec-helpers/handler_spec_helper.rb +20 -0
- data/lib/rubypitaya/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86eb826473766e568cdeec334cb978b65d8b36188a129c8f5aa8b31d837afbf1
|
4
|
+
data.tar.gz: cf96a7e6c0ed0f0abc69e797d00ba59b6d9fdef5524761928bbda431593b582d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0416f1d8c5c8e31231bb7cb8800aa3bb4e68aa5415db605f5db79b8b83590c453ade21ea46644a38a02b7827f760dd45b9b186b0efb9b12471f9d1f86961c0ff
|
7
|
+
data.tar.gz: efb6d17b6f86544a3381d579b1625159f6ab0a4c11427ff69a466720ac755d576b21a760bfbda7e233d34701470231e18792b35f27879ede51a7da2f4d399816
|
data/bin/rubypitaya
CHANGED
@@ -84,7 +84,7 @@ GEM
|
|
84
84
|
rspec-support (~> 3.8.0)
|
85
85
|
rspec-support (3.8.3)
|
86
86
|
ruby2_keywords (0.0.2)
|
87
|
-
rubypitaya (2.
|
87
|
+
rubypitaya (2.15.0)
|
88
88
|
activerecord (= 6.0.2)
|
89
89
|
etcdv3 (= 0.10.2)
|
90
90
|
eventmachine (= 1.2.7)
|
@@ -123,7 +123,7 @@ DEPENDENCIES
|
|
123
123
|
listen (= 3.2.1)
|
124
124
|
pry (= 0.12.2)
|
125
125
|
rspec (= 3.8.0)
|
126
|
-
rubypitaya (= 2.
|
126
|
+
rubypitaya (= 2.15.0)
|
127
127
|
|
128
128
|
BUNDLED WITH
|
129
129
|
1.17.2
|
@@ -1,49 +1,46 @@
|
|
1
|
-
|
1
|
+
class AppInitializer < RubyPitaya::InitializerBase
|
2
2
|
|
3
|
-
|
3
|
+
# method: run
|
4
|
+
# parameter: initializer_content
|
5
|
+
# attributes:
|
6
|
+
# - bll
|
7
|
+
# - class: RubyPitaya::InstanceHolder
|
8
|
+
# - link: https://gitlab.com/LucianoPC/ruby-pitaya/-/blob/master/lib/rubypitaya/core/instance_holder.rb
|
9
|
+
# - methods:
|
10
|
+
# - add_instance(key, instance)
|
11
|
+
# - add any instance to any key
|
12
|
+
# - [](key)
|
13
|
+
# - get instance by key
|
14
|
+
# - redis
|
15
|
+
# - link: https://github.com/redis/redis-rb/
|
16
|
+
# - config
|
17
|
+
# - class: RubyPitaya::Config
|
18
|
+
# - link: https://gitlab.com/LucianoPC/ruby-pitaya/-/blob/master/lib/rubypitaya/core/config.rb
|
19
|
+
# - methods:
|
20
|
+
# - [](key)
|
21
|
+
# - get config file by config path
|
22
|
+
# - setup
|
23
|
+
# - class: RubyPitaya::Setup
|
24
|
+
# - link: https://gitlab.com/LucianoPC/ruby-pitaya/-/blob/master/lib/rubypitaya/core/setup.rb
|
25
|
+
# - methods:
|
26
|
+
# - [](key)
|
27
|
+
# - get config file by config path
|
28
|
+
# - log
|
29
|
+
# - class: Logger
|
30
|
+
# - link: https://ruby-doc.org/stdlib-2.6.4/libdoc/logger/rdoc/Logger.html
|
31
|
+
# - methods:
|
32
|
+
# - info
|
33
|
+
# - log information
|
4
34
|
|
5
|
-
|
6
|
-
|
7
|
-
# attributes:
|
8
|
-
# - bll
|
9
|
-
# - class: RubyPitaya::InstanceHolder
|
10
|
-
# - link: https://gitlab.com/LucianoPC/ruby-pitaya/-/blob/master/lib/rubypitaya/core/instance_holder.rb
|
11
|
-
# - methods:
|
12
|
-
# - add_instance(key, instance)
|
13
|
-
# - add any instance to any key
|
14
|
-
# - [](key)
|
15
|
-
# - get instance by key
|
16
|
-
# - redis
|
17
|
-
# - link: https://github.com/redis/redis-rb/
|
18
|
-
# - config
|
19
|
-
# - class: RubyPitaya::Config
|
20
|
-
# - link: https://gitlab.com/LucianoPC/ruby-pitaya/-/blob/master/lib/rubypitaya/core/config.rb
|
21
|
-
# - methods:
|
22
|
-
# - [](key)
|
23
|
-
# - get config file by config path
|
24
|
-
# - setup
|
25
|
-
# - class: RubyPitaya::Setup
|
26
|
-
# - link: https://gitlab.com/LucianoPC/ruby-pitaya/-/blob/master/lib/rubypitaya/core/setup.rb
|
27
|
-
# - methods:
|
28
|
-
# - [](key)
|
29
|
-
# - get config file by config path
|
30
|
-
# - log
|
31
|
-
# - class: Logger
|
32
|
-
# - link: https://ruby-doc.org/stdlib-2.6.4/libdoc/logger/rdoc/Logger.html
|
33
|
-
# - methods:
|
34
|
-
# - info
|
35
|
-
# - log information
|
35
|
+
def run(initializer_content)
|
36
|
+
bll = initializer_content.bll
|
36
37
|
|
37
|
-
|
38
|
-
bll = initializer_content.bll
|
38
|
+
playerBll = PlayerBLL.new
|
39
39
|
|
40
|
-
|
41
|
-
|
42
|
-
bll.add_instance(:player, playerBll)
|
43
|
-
end
|
40
|
+
bll.add_instance(:player, playerBll)
|
41
|
+
end
|
44
42
|
|
45
|
-
|
46
|
-
|
47
|
-
end
|
43
|
+
def self.path
|
44
|
+
__FILE__
|
48
45
|
end
|
49
46
|
end
|
@@ -1,14 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
class PlayerBLL
|
1
|
+
class PlayerBLL
|
4
2
|
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
def create_new_player(setup, config)
|
4
|
+
name = config['initial_player']['name']
|
5
|
+
gold = setup['initial_player.wallet.gold']
|
8
6
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
end
|
7
|
+
player = Player.new(name: name, gold: gold, user: User.new)
|
8
|
+
player.save
|
9
|
+
player
|
13
10
|
end
|
14
11
|
end
|
@@ -1,25 +1,22 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
class StatusCodes
|
1
|
+
class StatusCodes
|
4
2
|
|
5
|
-
|
3
|
+
CODE_OK = RubyPitaya::StatusCodes::CODE_OK
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
end
|
5
|
+
################
|
6
|
+
## Existent Codes
|
7
|
+
################
|
8
|
+
## Success codes
|
9
|
+
#
|
10
|
+
# RubyPitaya::StatusCodes::CODE_OK = 'RP-200'
|
11
|
+
#
|
12
|
+
#
|
13
|
+
## Error codes
|
14
|
+
# RubyPitaya::StatusCodes::CODE_UNKNOWN = 'RP-000'
|
15
|
+
# RubyPitaya::StatusCodes::CODE_HANDLER_NOT_FOUND = 'RP-001'
|
16
|
+
# RubyPitaya::StatusCodes::CODE_ACTION_NOT_FOUND = 'RP-002'
|
17
|
+
# RubyPitaya::StatusCodes::CODE_NOT_AUTHENTICATED = 'RP-003'
|
18
|
+
# RubyPitaya::StatusCodes::CODE_AUTHENTICATION_ERROR = 'RP-004'
|
19
|
+
#
|
20
|
+
# RubyPitaya::StatusCodes::Connector::CODE_UNKNOWN = 'PIT-000'
|
21
|
+
################
|
25
22
|
end
|
@@ -1,16 +1,13 @@
|
|
1
|
-
|
1
|
+
class HelloWorldHandler < RubyPitaya::HandlerBase
|
2
2
|
|
3
|
-
|
3
|
+
non_authenticated_actions :sayHello
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
data: {
|
11
|
-
message: 'Hello!'
|
12
|
-
}
|
5
|
+
def sayHello
|
6
|
+
response = {
|
7
|
+
code: 'RP-200',
|
8
|
+
data: {
|
9
|
+
message: 'Hello!'
|
13
10
|
}
|
14
|
-
|
11
|
+
}
|
15
12
|
end
|
16
|
-
end
|
13
|
+
end
|
@@ -1,82 +1,79 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
class PlayerHandler < RubyPitaya::HandlerBase
|
1
|
+
class PlayerHandler < RubyPitaya::HandlerBase
|
4
2
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
3
|
+
# class: HandlerBase
|
4
|
+
# attributes:
|
5
|
+
# - @bll
|
6
|
+
# - class: InstanceHolder
|
7
|
+
# - methods:
|
8
|
+
# - [](key)
|
9
|
+
# - info: get bll by key
|
10
|
+
#
|
11
|
+
# - @redis
|
12
|
+
# - link: https://github.com/redis/redis-rb/
|
13
|
+
#
|
14
|
+
# - @config
|
15
|
+
# - info: Hash with config json files inside of 'app/config'
|
16
|
+
# - example:
|
17
|
+
# Given you have the following file "app/config/initial_player.json"
|
18
|
+
# And this json content is {'name': 'Guest'}
|
19
|
+
# And you can get the initial player name
|
20
|
+
# Then you can run the following code: @config['initial_player']['name']
|
21
|
+
#
|
22
|
+
# - @params
|
23
|
+
# - info: Special hash with the request parameters
|
24
|
+
# - link: https://api.rubyonrails.org/classes/ActionController/Parameters.html
|
25
|
+
#
|
26
|
+
# - @session
|
27
|
+
# - attributes:
|
28
|
+
# - id :: session id
|
29
|
+
# - uid :: user id
|
30
|
+
# - data :: session data
|
31
|
+
# - metadata :: session data
|
32
|
+
# - frontend_id :: connector server id
|
33
|
+
#
|
34
|
+
# - @postman
|
35
|
+
# - info: Send messages to server and clients
|
36
|
+
# - methods:
|
37
|
+
# - bind_session(session)
|
38
|
+
# - info:
|
39
|
+
# Send a session to connector, you can use to set the userId
|
40
|
+
# of the session, for example you can set an userId on
|
41
|
+
# @session, like `@session.uid = '123'`, and then you can
|
42
|
+
# bind this session with `@postman.bind_session(@session)`
|
45
43
|
|
46
|
-
|
44
|
+
non_authenticated_actions :authenticate
|
47
45
|
|
48
|
-
|
49
|
-
|
46
|
+
def authenticate
|
47
|
+
user_id = @params[:userId]
|
50
48
|
|
51
|
-
|
52
|
-
|
49
|
+
player = Player.find_by_user_id(user_id)
|
50
|
+
player = @bll[:player].create_new_player(@setup, @config) if player.nil?
|
53
51
|
|
54
|
-
|
52
|
+
@session.uid = player.user_id
|
55
53
|
|
56
|
-
|
54
|
+
bind_session_response = @postman.bind_session(@session)
|
57
55
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
}
|
63
|
-
end
|
64
|
-
|
65
|
-
response = {
|
66
|
-
code: StatusCodes::CODE_OK,
|
67
|
-
data: player.to_hash,
|
56
|
+
unless bind_session_response.dig(:error, :code).nil?
|
57
|
+
return response = {
|
58
|
+
code: RubyPitaya::StatusCodes::CODE_AUTHENTICATION_ERROR,
|
59
|
+
msg: 'Error to authenticate',
|
68
60
|
}
|
69
61
|
end
|
70
62
|
|
71
|
-
|
72
|
-
|
63
|
+
response = {
|
64
|
+
code: StatusCodes::CODE_OK,
|
65
|
+
data: player.to_hash,
|
66
|
+
}
|
67
|
+
end
|
73
68
|
|
74
|
-
|
69
|
+
def getInfo
|
70
|
+
user_id = @session.uid
|
75
71
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
72
|
+
player = Player.find_by_user_id(user_id)
|
73
|
+
|
74
|
+
response = {
|
75
|
+
code: StatusCodes::CODE_OK,
|
76
|
+
data: player.to_hash,
|
77
|
+
}
|
81
78
|
end
|
82
79
|
end
|
@@ -1,19 +1,16 @@
|
|
1
1
|
require 'active_record'
|
2
2
|
|
3
|
-
|
3
|
+
class Player < ActiveRecord::Base
|
4
4
|
|
5
|
-
|
5
|
+
belongs_to :user
|
6
6
|
|
7
|
-
|
7
|
+
validates_presence_of :name, :gold, :user
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
userId: user_id,
|
16
|
-
}
|
17
|
-
end
|
9
|
+
def to_hash
|
10
|
+
{
|
11
|
+
name: name,
|
12
|
+
gold: gold,
|
13
|
+
userId: user_id,
|
14
|
+
}
|
18
15
|
end
|
19
16
|
end
|
@@ -19,11 +19,11 @@ Feature: Player
|
|
19
19
|
Then server should response the following json:
|
20
20
|
"""
|
21
21
|
{
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
22
|
+
"code": "RP-200",
|
23
|
+
"data": {
|
24
|
+
"name": "Someone",
|
25
|
+
"gold": 15,
|
26
|
+
"userId": "00000000-0000-0000-0000-000000000001"
|
27
27
|
}
|
28
28
|
}
|
29
29
|
"""
|
@@ -1,5 +1,5 @@
|
|
1
1
|
Given(/^[Tt]he [Pp]layer ["'](.+)["'] is authenticated$/) do |player_name|
|
2
|
-
player =
|
2
|
+
player = Player.find_by_name(player_name)
|
3
3
|
@handler_helper.authenticate(player.user_id)
|
4
4
|
end
|
5
5
|
|
@@ -7,6 +7,6 @@ Given(/^[Tt]he following [Pp]layer[s]*[:]*$/) do |table|
|
|
7
7
|
player_hashes = table.hashes
|
8
8
|
player_hashes.each do |player_hash|
|
9
9
|
player_hash[:user] = User.new(id: player_hash[:user_id])
|
10
|
-
|
10
|
+
Player.create(player_hash)
|
11
11
|
end
|
12
12
|
end
|
@@ -9,8 +9,8 @@ Given(/^[Ss]erver should response ["'](.+)["'] as ["'](.+)["']$/) do |response_k
|
|
9
9
|
end
|
10
10
|
|
11
11
|
Given(/^[Ss]erver should response the following json[:]*$/) do |expected_json|
|
12
|
-
expected_json =
|
13
|
-
response_json = @handler_helper.response
|
12
|
+
expected_json = JSON.generate(JSON.parse(expected_json.strip))
|
13
|
+
response_json = JSON.generate(@handler_helper.response)
|
14
14
|
|
15
15
|
expect(response_json).to eq(expected_json)
|
16
16
|
end
|
@@ -38,6 +38,16 @@ Given(/^(?:[Nn]ow\s)?[Tt]oday is ["'](.+)["']$/) do |date_text|
|
|
38
38
|
Time.stub(:now).and_return(time_now)
|
39
39
|
end
|
40
40
|
|
41
|
+
Given(/^[Tt]he [Uu]ser ["'](.+)["'] is authenticated$/) do |user_id|
|
42
|
+
@handler_helper.authenticate(user_id)
|
43
|
+
end
|
44
|
+
|
45
|
+
Given(/^[Tt]he following [Uu]ser[s]*[:]*$/) do |table|
|
46
|
+
table.hashes.each do |table_hash|
|
47
|
+
User.create(id: table_hash[:user_id])
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
41
51
|
Before do
|
42
52
|
ActiveRecord::Base.descendants.each { |c| c.delete_all unless c == ActiveRecord::SchemaMigration }
|
43
53
|
@handler_helper = RubyPitaya::HandlerSpecHelperClass.new('cucumber')
|
@@ -1,19 +1,16 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
|
3
|
+
RSpec.describe 'HelloWorldHandler', type: :request do
|
4
|
+
context 'sayHello' do
|
5
|
+
it 'success' do
|
6
|
+
request("rubypitaya.helloWorldHandler.sayHello")
|
4
7
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
8
|
+
expected_response = {
|
9
|
+
code: 'RP-200',
|
10
|
+
data: { message: 'Hello!' }
|
11
|
+
}
|
9
12
|
|
10
|
-
|
11
|
-
code: 'RP-200',
|
12
|
-
data: { message: 'Hello!' }
|
13
|
-
}
|
14
|
-
|
15
|
-
expect(response).to eq(expected_response)
|
16
|
-
end
|
13
|
+
expect(response).to eq(expected_response)
|
17
14
|
end
|
18
15
|
end
|
19
16
|
end
|
@@ -1,50 +1,47 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
|
3
|
+
RSpec.describe 'PlayerHandler', type: :request do
|
4
|
+
context 'authenticate' do
|
5
|
+
it 'create_new_user' do
|
6
|
+
setup = {'initial_player' => {'wallet' => {'gold' => 10}}}
|
7
|
+
config = {'initial_player' => {'name' => 'Guest'}}
|
4
8
|
|
5
|
-
|
6
|
-
|
7
|
-
it 'create_new_user' do
|
8
|
-
setup = {'initial_player' => {'wallet' => {'gold' => 10}}}
|
9
|
-
config = {'initial_player' => {'name' => 'Guest'}}
|
9
|
+
set_setup(setup)
|
10
|
+
set_config(config)
|
10
11
|
|
11
|
-
|
12
|
-
|
12
|
+
params = {}
|
13
|
+
request("rubypitaya.playerHandler.authenticate", params)
|
13
14
|
|
14
|
-
|
15
|
-
request("rubypitaya.playerHandler.authenticate", params)
|
15
|
+
player = Player.last
|
16
16
|
|
17
|
-
|
17
|
+
expect(response[:code]).to eq('RP-200')
|
18
|
+
expect(response[:data][:name]).to eq('Guest')
|
19
|
+
expect(response[:data][:gold]).to eq(10)
|
18
20
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
expect(::User.count).to eq(1)
|
24
|
-
expect(::MyApp::Player.count).to eq(1)
|
25
|
-
expect(player.name).to eq('Guest')
|
26
|
-
expect(player.gold).to eq(10)
|
27
|
-
end
|
21
|
+
expect(User.count).to eq(1)
|
22
|
+
expect(Player.count).to eq(1)
|
23
|
+
expect(player.name).to eq('Guest')
|
24
|
+
expect(player.gold).to eq(10)
|
28
25
|
end
|
26
|
+
end
|
29
27
|
|
30
|
-
|
31
|
-
|
32
|
-
|
28
|
+
context 'getInfo' do
|
29
|
+
it 'success' do
|
30
|
+
player = Player.create(name: 'Someone', gold: 12, user: User.new)
|
33
31
|
|
34
|
-
|
32
|
+
authenticate(player.user_id)
|
35
33
|
|
36
|
-
|
34
|
+
request("rubypitaya.playerHandler.getInfo")
|
37
35
|
|
38
|
-
|
39
|
-
|
40
|
-
|
36
|
+
expect(response[:code]).to eq('RP-200')
|
37
|
+
expect(response[:data]).to eq(player.to_hash)
|
38
|
+
end
|
41
39
|
|
42
|
-
|
43
|
-
|
40
|
+
it 'error_not_authenticated' do
|
41
|
+
request("rubypitaya.playerHandler.getInfo")
|
44
42
|
|
45
|
-
|
46
|
-
|
47
|
-
end
|
43
|
+
expect(response[:code]).to eq(RubyPitaya::StatusCodes::CODE_NOT_AUTHENTICATED)
|
44
|
+
expect(response[:msg]).to eq('Not authenticated')
|
48
45
|
end
|
49
46
|
end
|
50
47
|
end
|
@@ -9,11 +9,19 @@ module RubyPitaya
|
|
9
9
|
def initialize
|
10
10
|
@config_core = ConfigCore.new
|
11
11
|
@config_core_override = nil
|
12
|
+
|
13
|
+
@result_cache = {}
|
12
14
|
end
|
13
15
|
|
14
16
|
def [](key)
|
17
|
+
result = @result_cache[key]
|
18
|
+
return result unless result.nil?
|
19
|
+
|
15
20
|
result = @config_core_override[key] unless @config_core_override.nil?
|
16
21
|
result = @config_core[key] if result.nil?
|
22
|
+
|
23
|
+
@result_cache[key] = result
|
24
|
+
|
17
25
|
result
|
18
26
|
end
|
19
27
|
|
@@ -21,5 +29,9 @@ module RubyPitaya
|
|
21
29
|
@config_core.auto_reload
|
22
30
|
@config_core_override.auto_reload unless @config_core_override.nil?
|
23
31
|
end
|
32
|
+
|
33
|
+
def clear_cache
|
34
|
+
@result_cache.clear
|
35
|
+
end
|
24
36
|
end
|
25
37
|
end
|
data/lib/rubypitaya/core/main.rb
CHANGED
@@ -165,6 +165,8 @@ module RubyPitaya
|
|
165
165
|
@log.info "request -> route: #{message_route}"
|
166
166
|
@log.info " -> data: #{message_data}"
|
167
167
|
|
168
|
+
@config.clear_cache
|
169
|
+
|
168
170
|
response = @handler_router.call(handler_name, action_name, @session,
|
169
171
|
@postman, @redis_connector.redis,
|
170
172
|
@setup, @config, @bll, @log, params)
|
@@ -177,7 +179,7 @@ module RubyPitaya
|
|
177
179
|
end
|
178
180
|
rescue Exception => error
|
179
181
|
@log.info "ERROR: #{error}"
|
180
|
-
@log.info error.backtrace
|
182
|
+
@log.info error.backtrace.join("\n")
|
181
183
|
run_nats_connection
|
182
184
|
end
|
183
185
|
end
|
@@ -70,6 +70,26 @@ module RubyPitaya
|
|
70
70
|
@@setup.add(*keys, value)
|
71
71
|
end
|
72
72
|
|
73
|
+
def get_bll
|
74
|
+
@@bll
|
75
|
+
end
|
76
|
+
|
77
|
+
def get_log
|
78
|
+
@@log
|
79
|
+
end
|
80
|
+
|
81
|
+
def get_session
|
82
|
+
@@session
|
83
|
+
end
|
84
|
+
|
85
|
+
def get_postman
|
86
|
+
@@postman
|
87
|
+
end
|
88
|
+
|
89
|
+
def get_redis
|
90
|
+
@@redis_connector.redis
|
91
|
+
end
|
92
|
+
|
73
93
|
private
|
74
94
|
|
75
95
|
def initialize_redis
|
data/lib/rubypitaya/version.rb
CHANGED
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: 2.
|
4
|
+
version: 2.15.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: 2021-
|
11
|
+
date: 2021-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|