rubypitaya 2.26.3 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 03d922e0e3018a516710860db14edb745a8091de11e357ac28350fd2bc0c4c1b
4
- data.tar.gz: 88ebed05ee6d18892875786f0e652d6fb0236f66458304534f16026c86369fe2
3
+ metadata.gz: d50d6d5ffeeab38f9d623c33970eb87e4e89ad64e385f4fe57a8d414342e969a
4
+ data.tar.gz: 7fb8db293deae83dd0de428a825588b9ca6418eab26a220ab983ac6b1737ab69
5
5
  SHA512:
6
- metadata.gz: f651a4e71c89ced83d2ec5be02415b0b4c3744f77198737ed5a4507302720286e698dcb60928efdfce2b81a109cfcf84fe27ee1dfeb9f3328039a6eb991e834b
7
- data.tar.gz: ad997b323bf2fb3b23cb682e0643dc6516d0b6f9c1ab206195003c4799c9155f25966f7deffe6d4238f809044d51e772b2b75cf140b36755dadc483731093703
6
+ metadata.gz: 88510c87137b193a0f4f1f2a12ad7fd7c2c9acb1be8d2aaeee7545b8f1832b380b4e57a4e9d072deef7e526cc87dfd86461584933fc4e9e0d5f466c520408831
7
+ data.tar.gz: 341555828f6ed7c3996210cf64bc21cc36e756940b1f506cf81f62aaecbc0aadb18fe07fb9cc6c525d3455c4d45ff22e82efa257e6eee63d41b59b502a85c2c9
@@ -1,11 +1,11 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem 'rubypitaya', '2.26.3'
3
+ gem 'rubypitaya', '3.0.1'
4
4
 
5
5
  group :development do
6
- gem 'pry', '0.14.0'
7
- gem 'bundler', '2.1.4'
6
+ gem 'pry', '0.14.1'
7
+ gem 'bundler', '2.2.22'
8
8
  gem 'rspec', '3.10.0'
9
- gem 'listen', '3.4.1'
10
- gem 'cucumber', '5.3.0'
9
+ gem 'listen', '3.7.0'
10
+ gem 'cucumber', '7.0.0'
11
11
  end
@@ -16,55 +16,57 @@ GEM
16
16
  builder (3.2.4)
17
17
  coderay (1.1.3)
18
18
  concurrent-ruby (1.1.9)
19
- cucumber (5.3.0)
19
+ cucumber (7.0.0)
20
20
  builder (~> 3.2, >= 3.2.4)
21
- cucumber-core (~> 8.0, >= 8.0.1)
22
- cucumber-create-meta (~> 2.0, >= 2.0.2)
23
- cucumber-cucumber-expressions (~> 10.3, >= 10.3.0)
24
- cucumber-gherkin (~> 15.0, >= 15.0.2)
25
- cucumber-html-formatter (~> 9.0, >= 9.0.0)
26
- cucumber-messages (~> 13.1, >= 13.1.0)
27
- cucumber-wire (~> 4.0, >= 4.0.1)
21
+ cucumber-core (~> 10.0, >= 10.0.1)
22
+ cucumber-create-meta (~> 6.0, >= 6.0.1)
23
+ cucumber-cucumber-expressions (~> 12.1, >= 12.1.1)
24
+ cucumber-gherkin (~> 20.0, >= 20.0.1)
25
+ cucumber-html-formatter (~> 16.0, >= 16.0.1)
26
+ cucumber-messages (~> 17.0, >= 17.0.1)
27
+ cucumber-wire (~> 6.0, >= 6.0.1)
28
28
  diff-lcs (~> 1.4, >= 1.4.4)
29
+ mime-types (~> 3.3, >= 3.3.1)
29
30
  multi_test (~> 0.1, >= 0.1.2)
30
- sys-uname (~> 1.2, >= 1.2.1)
31
- cucumber-core (8.0.1)
32
- cucumber-gherkin (~> 15.0, >= 15.0.2)
33
- cucumber-messages (~> 13.0, >= 13.0.1)
34
- cucumber-tag-expressions (~> 2.0, >= 2.0.4)
35
- cucumber-create-meta (2.0.4)
36
- cucumber-messages (~> 13.1, >= 13.1.0)
37
- sys-uname (~> 1.2, >= 1.2.1)
38
- cucumber-cucumber-expressions (10.3.0)
39
- cucumber-gherkin (15.0.2)
40
- cucumber-messages (~> 13.0, >= 13.0.1)
41
- cucumber-html-formatter (9.0.0)
42
- cucumber-messages (~> 13.0, >= 13.0.1)
43
- cucumber-messages (13.2.1)
44
- protobuf-cucumber (~> 3.10, >= 3.10.8)
45
- cucumber-tag-expressions (2.0.4)
46
- cucumber-wire (4.0.1)
47
- cucumber-core (~> 8.0, >= 8.0.1)
48
- cucumber-cucumber-expressions (~> 10.3, >= 10.3.0)
49
- cucumber-messages (~> 13.0, >= 13.0.1)
31
+ sys-uname (~> 1.2, >= 1.2.2)
32
+ cucumber-core (10.0.1)
33
+ cucumber-gherkin (~> 20.0, >= 20.0.1)
34
+ cucumber-messages (~> 17.0, >= 17.0.1)
35
+ cucumber-tag-expressions (~> 3.0, >= 3.0.1)
36
+ cucumber-create-meta (6.0.1)
37
+ cucumber-messages (~> 17.0, >= 17.0.1)
38
+ sys-uname (~> 1.2, >= 1.2.2)
39
+ cucumber-cucumber-expressions (12.1.3)
40
+ cucumber-gherkin (20.0.1)
41
+ cucumber-messages (~> 17.0, >= 17.0.1)
42
+ cucumber-html-formatter (16.0.1)
43
+ cucumber-messages (~> 17.0, >= 17.0.1)
44
+ cucumber-messages (17.1.1)
45
+ cucumber-tag-expressions (3.0.1)
46
+ cucumber-wire (6.1.1)
47
+ cucumber-core (~> 10.0, >= 10.0.1)
48
+ cucumber-cucumber-expressions (~> 12.1, >= 12.1.2)
49
+ cucumber-messages (~> 17.0, >= 17.0.1)
50
50
  diff-lcs (1.4.4)
51
- etcdv3 (0.11.3)
51
+ etcdv3 (0.11.4)
52
52
  grpc (~> 1.17)
53
53
  eventmachine (1.2.7)
54
54
  ffi (1.15.4)
55
- google-protobuf (3.17.3)
56
- googleapis-common-protos-types (1.1.0)
55
+ google-protobuf (3.18.0-x86_64-linux)
56
+ googleapis-common-protos-types (1.2.0)
57
57
  google-protobuf (~> 3.14)
58
- grpc (1.38.0)
58
+ grpc (1.40.0-x86_64-linux)
59
59
  google-protobuf (~> 3.15)
60
60
  googleapis-common-protos-types (~> 1.0)
61
61
  i18n (1.8.10)
62
62
  concurrent-ruby (~> 1.0)
63
- listen (3.4.1)
63
+ listen (3.7.0)
64
64
  rb-fsevent (~> 0.10, >= 0.10.3)
65
65
  rb-inotify (~> 0.9, >= 0.9.10)
66
66
  method_source (1.0.0)
67
- middleware (0.1.0)
67
+ mime-types (3.3.1)
68
+ mime-types-data (~> 3.2015)
69
+ mime-types-data (3.2021.0901)
68
70
  minitest (5.14.4)
69
71
  mongo (2.15.0)
70
72
  bson (>= 4.8.2, < 5.0.0)
@@ -76,17 +78,7 @@ GEM
76
78
  eventmachine (~> 1.2, >= 1.2)
77
79
  ostruct (0.4.0)
78
80
  pg (1.2.3)
79
- protobuf (3.10.4)
80
- activesupport (>= 3.2)
81
- middleware
82
- thor
83
- thread_safe
84
- protobuf-cucumber (3.10.8)
85
- activesupport (>= 3.2)
86
- middleware
87
- thor
88
- thread_safe
89
- pry (0.14.0)
81
+ pry (0.14.1)
90
82
  coderay (~> 1.1)
91
83
  method_source (~> 1.0)
92
84
  rack (2.2.3)
@@ -111,18 +103,19 @@ GEM
111
103
  rspec-support (~> 3.10.0)
112
104
  rspec-support (3.10.2)
113
105
  ruby2_keywords (0.0.5)
114
- rubypitaya (2.26.3)
106
+ rubypitaya (3.0.1)
115
107
  activerecord (= 6.1.4.1)
116
- etcdv3 (= 0.11.3)
108
+ etcdv3 (= 0.11.4)
109
+ google-protobuf (= 3.18.0)
117
110
  mongo (= 2.15.0)
118
111
  nats (= 0.11.0)
119
112
  ostruct (= 0.4.0)
120
113
  pg (= 1.2.3)
121
- protobuf (= 3.10.4)
122
114
  rake (= 13.0.6)
123
115
  redis (= 4.4.0)
124
116
  sinatra (= 2.1.0)
125
117
  sinatra-contrib (= 2.1.0)
118
+ webrick (= 1.7.0)
126
119
  sinatra (2.1.0)
127
120
  mustermann (~> 1.0)
128
121
  rack (~> 2.2)
@@ -136,23 +129,22 @@ GEM
136
129
  tilt (~> 2.0)
137
130
  sys-uname (1.2.2)
138
131
  ffi (~> 1.1)
139
- thor (1.1.0)
140
- thread_safe (0.3.6)
141
132
  tilt (2.0.10)
142
133
  tzinfo (2.0.4)
143
134
  concurrent-ruby (~> 1.0)
135
+ webrick (1.7.0)
144
136
  zeitwerk (2.4.2)
145
137
 
146
138
  PLATFORMS
147
- ruby
139
+ x86_64-linux
148
140
 
149
141
  DEPENDENCIES
150
- bundler (= 2.1.4)
151
- cucumber (= 5.3.0)
152
- listen (= 3.4.1)
153
- pry (= 0.14.0)
142
+ bundler (= 2.2.22)
143
+ cucumber (= 7.0.0)
144
+ listen (= 3.7.0)
145
+ pry (= 0.14.1)
154
146
  rspec (= 3.10.0)
155
- rubypitaya (= 2.26.3)
147
+ rubypitaya (= 3.0.1)
156
148
 
157
149
  BUNDLED WITH
158
- 2.1.4
150
+ 2.2.22
@@ -41,7 +41,7 @@ test-cucumber:
41
41
  ## Update gems dependencies on Gemfile.lock
42
42
  update-dependencies:
43
43
  @rm -f Gemfile.lock
44
- @docker run --rm -v "$(PWD)":/usr/src/app -w /usr/src/app ruby:2.7.2 bundle install
44
+ @docker run --rm -v "$(PWD)":/usr/src/app -w /usr/src/app ruby:3.0.2 bundle install
45
45
 
46
46
  ## + Improve metagame
47
47
 
@@ -3,14 +3,6 @@ class AppInitializer < RubyPitaya::InitializerBase
3
3
  # method: run
4
4
  # parameter: initializer_content
5
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
6
  # - redis
15
7
  # - link: https://github.com/redis/redis-rb/
16
8
  # - mongo
@@ -36,11 +28,9 @@ class AppInitializer < RubyPitaya::InitializerBase
36
28
  # - log information
37
29
 
38
30
  def run(initializer_content)
39
- bll = initializer_content.bll
40
-
41
31
  playerBll = PlayerBLL.new
42
32
 
43
- bll.add_instance(:player, playerBll)
33
+ PlayerHandler.bll.add_instance(:player, playerBll)
44
34
  end
45
35
 
46
36
  def self.path
@@ -1,6 +1,6 @@
1
1
  require 'active_record'
2
2
 
3
- class CreatePlayerMigration < ActiveRecord::Migration[5.1]
3
+ class CreatePlayerMigration < ActiveRecord::Migration[6.1]
4
4
 
5
5
  enable_extension 'pgcrypto'
6
6
 
@@ -1,4 +1,4 @@
1
- FROM ruby:2.7.2-slim
1
+ FROM ruby:3.0.2-slim
2
2
 
3
3
  ENV LANG=C.UTF-8
4
4
  ENV LC_ALL=C.UTF-8
@@ -1,4 +1,4 @@
1
- FROM ruby:2.7.2-slim as builder
1
+ FROM ruby:3.0.2-slim as builder
2
2
 
3
3
  RUN apt update && \
4
4
  apt install -y --no-install-recommends \
@@ -17,7 +17,7 @@ RUN bundle config --global jobs 4 && \
17
17
 
18
18
  # RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
19
19
 
20
- FROM ruby:2.7.2-slim
20
+ FROM ruby:3.0.2-slim
21
21
 
22
22
  ENV LANG=C.UTF-8
23
23
  ENV LC_ALL=C.UTF-8
@@ -12,6 +12,8 @@ Given(/^[Ss]erver should response the following json[:]*$/) do |expected_json|
12
12
  expected_json = JSON.generate(JSON.parse(expected_json.strip))
13
13
  response_json = JSON.generate(@handler_helper.response)
14
14
 
15
+ puts JSON.pretty_generate(@handler_helper.response) if expected_json != response_json
16
+
15
17
  expect(response_json).to eq(expected_json)
16
18
  end
17
19
 
@@ -42,7 +42,7 @@ RSpec.describe 'PlayerHandler', type: :request do
42
42
  request("rubypitaya.playerHandler.getInfo")
43
43
 
44
44
  expect(response[:code]).to eq(RubyPitaya::StatusCodes::CODE_NOT_AUTHENTICATED)
45
- expect(response[:msg]).to eq('Not authenticated')
45
+ expect(response[:message]).to eq('Not authenticated')
46
46
  end
47
47
  end
48
48
  end
@@ -1,13 +1,15 @@
1
+ require 'rubypitaya/core/instance_holder'
2
+
1
3
  module RubyPitaya
2
4
 
3
5
  class HandlerBase
4
6
 
5
7
  class_attribute :non_authenticated_routes, default: []
8
+ class_attribute :handler_bll, default: nil, instance_reader: false, instance_writer: false, instance_accessor: false, instance_predicate: false
6
9
 
7
- attr_accessor :bll, :log, :redis, :setup, :config, :params, :session, :postman
10
+ attr_reader :bll, :log, :redis, :setup, :config, :params, :session, :postman
8
11
 
9
12
  def initialize
10
- @bll = nil
11
13
  @log = nil
12
14
  @redis = nil
13
15
  @setup = nil
@@ -15,10 +17,11 @@ module RubyPitaya
15
17
  @params = nil
16
18
  @session = nil
17
19
  @postman = nil
20
+
21
+ @bll = self.class.bll
18
22
  end
19
23
 
20
- def set_attributes(bll, log, redis, mongo, setup, config, params, session, postman)
21
- @bll = bll
24
+ def set_attributes(log, redis, mongo, setup, config, params, session, postman)
22
25
  @log = log
23
26
  @redis = redis
24
27
  @mongo = mongo
@@ -29,6 +32,10 @@ module RubyPitaya
29
32
  @postman = postman
30
33
  end
31
34
 
35
+ def self.bll
36
+ self.handler_bll ||= InstanceHolder.new
37
+ end
38
+
32
39
  def self.non_authenticated_actions(*action_names)
33
40
  self.non_authenticated_routes = action_names.map(&:to_s)
34
41
  end
@@ -57,7 +57,7 @@ module RubyPitaya
57
57
  end
58
58
 
59
59
  def call(handler_name, action_name, session, postman, redis, mongo, setup,
60
- config, bll, log, params)
60
+ config, log, params)
61
61
  unless @handler_name_map.include?(handler_name)
62
62
  return {
63
63
  code: StatusCodes::CODE_HANDLER_NOT_FOUND,
@@ -75,11 +75,11 @@ module RubyPitaya
75
75
  handler = @handler_name_map[handler_name]
76
76
 
77
77
  if !handler.class.authenticated_action_name?(action_name)
78
- handler.set_attributes(bll, log, redis, mongo, setup, config, params, session, postman)
78
+ handler.set_attributes(log, redis, mongo, setup, config, params, session, postman)
79
79
  handler.send(action_name)
80
80
  else
81
81
  if session.authenticated?
82
- handler.set_attributes(bll, log, redis, mongo, setup, config, params, session, postman)
82
+ handler.set_attributes(log, redis, mongo, setup, config, params, session, postman)
83
83
  handler.send(action_name)
84
84
  else
85
85
  return {
@@ -2,10 +2,9 @@ module RubyPitaya
2
2
 
3
3
  class InitializerContent
4
4
 
5
- attr_reader :bll, :log, :redis, :mongo, :setup, :config
5
+ attr_reader :log, :redis, :mongo, :setup, :config
6
6
 
7
- def initialize(bll, log, redis, mongo, setup, config)
8
- @bll = bll
7
+ def initialize(log, redis, mongo, setup, config)
9
8
  @log = log
10
9
  @mongo = mongo
11
10
  @redis = redis
@@ -87,8 +87,7 @@ module RubyPitaya
87
87
 
88
88
  @bll = InstanceHolder.new
89
89
 
90
- @initializer_content = InitializerContent.new(@bll,
91
- @log,
90
+ @initializer_content = InitializerContent.new(@log,
92
91
  @redis_connector.redis,
93
92
  @mongo_connector.mongo,
94
93
  @setup,
@@ -166,10 +165,10 @@ module RubyPitaya
166
165
  session_id = request[:session][:id]
167
166
  session_uid = request[:session].fetch(:uid, '')
168
167
  session_data = request[:session][:data]
169
- session_data = JSON.parse(session_data, symbolize_names: true) if session_data.class == String
168
+ session_data = JSON.parse(session_data, symbolize_names: true)
170
169
  frontend_id = request[:frontendID]
171
170
  metadata = request[:metadata]
172
- metadata = JSON.parse(metadata, symbolize_names: true) if metadata.class == String
171
+ metadata = JSON.parse(metadata, symbolize_names: true)
173
172
 
174
173
  @session.update(session_id, session_uid, session_data, metadata,
175
174
  frontend_id)
@@ -185,7 +184,7 @@ module RubyPitaya
185
184
  response = @handler_router.call(handler_name, action_name, @session,
186
185
  @postman, @redis_connector.redis,
187
186
  @mongo_connector.mongo, @setup, @config,
188
- @bll, @log, params)
187
+ @log, params)
189
188
 
190
189
  delta_time_seconds = ((Time.now.to_f - start_time_seconds) * 1000).round(2)
191
190
 
@@ -1,5 +1,7 @@
1
- require 'protobuf'
2
1
  require 'nats/client'
2
+ require 'google/protobuf'
3
+
4
+ require 'rubypitaya/core/protos/nats_connector_pb'
3
5
 
4
6
  module RubyPitaya
5
7
 
@@ -23,14 +25,16 @@ module RubyPitaya
23
25
  NATS.start(:servers => [@nats_address]) do |nc|
24
26
 
25
27
  NATS.subscribe(subscribe_topic) do |message, reply, a, b|
26
- request = NatsRequest.decode(message).to_hash
28
+ request = NatsRequest.decode(message).to_h
27
29
 
28
30
  Fiber.new do
29
31
  response = yield request
30
32
 
31
33
  nats_response = NatsResponse.new(data: response.to_json)
32
34
 
33
- NATS.publish(reply, nats_response)
35
+ response = NatsResponse.encode(nats_response)
36
+
37
+ NATS.publish(reply, response)
34
38
  end.resume
35
39
  end
36
40
 
@@ -61,8 +65,11 @@ module RubyPitaya
61
65
  metadata: session.metadata.to_json,
62
66
  )
63
67
 
64
- nats_response = NATS.request(frontend_topic, nats_request)
65
- response = NatsResponse.decode(nats_response).to_hash
68
+ request = NatsRequest.encode(nats_request)
69
+
70
+ nats_response = NATS.request(frontend_topic, request)
71
+
72
+ response = NatsResponse.decode(nats_response).to_h
66
73
 
67
74
  response
68
75
  end
@@ -93,56 +100,4 @@ module RubyPitaya
93
100
  "pitaya/connector/user/#{uid}/push"
94
101
  end
95
102
  end
96
-
97
- class NatsSession < ::Protobuf::Message; end
98
- class NatsMessage < ::Protobuf::Message; end
99
- class NatsRequest < ::Protobuf::Message; end
100
- class NatsResponse < ::Protobuf::Message; end
101
- class NatsError < ::Protobuf::Message; end
102
- class NatsBindMsg < ::Protobuf::Message; end
103
- class NatsPush < ::Protobuf::Message; end
104
-
105
- class NatsSession
106
- optional :int32, :id, 1
107
- optional :bytes, :uid, 2
108
- optional :bytes, :data, 3
109
- end
110
-
111
- class NatsMessage
112
- optional :int32, :id, 1
113
- optional :bytes, :route, 2
114
- optional :bytes, :data, 3
115
- optional :bytes, :reply, 4
116
- optional :int32, :type, 5
117
- end
118
-
119
- class NatsRequest
120
- optional :int32, :type, 1
121
- optional NatsSession, :session, 2
122
- optional NatsMessage, :msg, 3
123
- optional :bytes, :frontendID, 4
124
- optional :bytes, :metadata, 5
125
- end
126
-
127
- class NatsError
128
- optional :bytes, :code, 1
129
- optional :bytes, :message, 2
130
- optional :bytes, :metadata, 3
131
- end
132
-
133
- class NatsResponse
134
- optional :bytes, :data, 1
135
- optional NatsError, :error, 2
136
- end
137
-
138
- class NatsBindMsg
139
- optional :bytes, :uid, 1
140
- optional :bytes, :fid, 2
141
- end
142
-
143
- class NatsPush
144
- optional :bytes, :route, 1
145
- optional :bytes, :uid, 2
146
- optional :bytes, :data, 3
147
- end
148
103
  end
@@ -19,7 +19,9 @@ module RubyPitaya
19
19
  data: session.data.to_json,
20
20
  )
21
21
 
22
- response = @nats_connector.push_to_frontend(session, route, nats_session)
22
+ payload = NatsSession.encode(nats_session)
23
+
24
+ response = @nats_connector.push_to_frontend(session, route, payload)
23
25
 
24
26
  response
25
27
  end
@@ -0,0 +1,47 @@
1
+ syntax = "proto3";
2
+
3
+ package RubyPitaya;
4
+
5
+ message NatsSession {
6
+ optional int32 id = 1;
7
+ optional bytes uid = 2;
8
+ optional bytes data = 3;
9
+ }
10
+
11
+ message NatsMessage {
12
+ optional int32 id = 1;
13
+ optional bytes route = 2;
14
+ optional bytes data = 3;
15
+ optional bytes reply = 4;
16
+ optional int32 type = 5;
17
+ }
18
+
19
+ message NatsRequest {
20
+ optional int32 type = 1;
21
+ optional NatsSession session = 2;
22
+ optional NatsMessage msg = 3;
23
+ optional bytes frontendID = 4;
24
+ optional bytes metadata = 5;
25
+ }
26
+
27
+ message NatsError {
28
+ optional bytes code = 1;
29
+ optional bytes message = 2;
30
+ optional bytes metadata = 3;
31
+ }
32
+
33
+ message NatsResponse {
34
+ optional bytes data = 1;
35
+ optional NatsError error = 2;
36
+ }
37
+
38
+ message NatsBindMsg {
39
+ optional bytes uid = 1;
40
+ optional bytes fid = 2;
41
+ }
42
+
43
+ message NatsPush {
44
+ optional bytes route = 1;
45
+ optional bytes uid = 2;
46
+ optional bytes data = 3;
47
+ }
@@ -0,0 +1,56 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: nats_connector.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_file("nats_connector.proto", :syntax => :proto3) do
8
+ add_message "RubyPitaya.NatsSession" do
9
+ proto3_optional :id, :int32, 1
10
+ proto3_optional :uid, :bytes, 2
11
+ proto3_optional :data, :bytes, 3
12
+ end
13
+ add_message "RubyPitaya.NatsMessage" do
14
+ proto3_optional :id, :int32, 1
15
+ proto3_optional :route, :bytes, 2
16
+ proto3_optional :data, :bytes, 3
17
+ proto3_optional :reply, :bytes, 4
18
+ proto3_optional :type, :int32, 5
19
+ end
20
+ add_message "RubyPitaya.NatsRequest" do
21
+ proto3_optional :type, :int32, 1
22
+ proto3_optional :session, :message, 2, "RubyPitaya.NatsSession"
23
+ proto3_optional :msg, :message, 3, "RubyPitaya.NatsMessage"
24
+ proto3_optional :frontendID, :bytes, 4
25
+ proto3_optional :metadata, :bytes, 5
26
+ end
27
+ add_message "RubyPitaya.NatsError" do
28
+ proto3_optional :code, :bytes, 1
29
+ proto3_optional :message, :bytes, 2
30
+ proto3_optional :metadata, :bytes, 3
31
+ end
32
+ add_message "RubyPitaya.NatsResponse" do
33
+ proto3_optional :data, :bytes, 1
34
+ proto3_optional :error, :message, 2, "RubyPitaya.NatsError"
35
+ end
36
+ add_message "RubyPitaya.NatsBindMsg" do
37
+ proto3_optional :uid, :bytes, 1
38
+ proto3_optional :fid, :bytes, 2
39
+ end
40
+ add_message "RubyPitaya.NatsPush" do
41
+ proto3_optional :route, :bytes, 1
42
+ proto3_optional :uid, :bytes, 2
43
+ proto3_optional :data, :bytes, 3
44
+ end
45
+ end
46
+ end
47
+
48
+ module RubyPitaya
49
+ NatsSession = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("RubyPitaya.NatsSession").msgclass
50
+ NatsMessage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("RubyPitaya.NatsMessage").msgclass
51
+ NatsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("RubyPitaya.NatsRequest").msgclass
52
+ NatsError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("RubyPitaya.NatsError").msgclass
53
+ NatsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("RubyPitaya.NatsResponse").msgclass
54
+ NatsBindMsg = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("RubyPitaya.NatsBindMsg").msgclass
55
+ NatsPush = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("RubyPitaya.NatsPush").msgclass
56
+ end
@@ -25,5 +25,13 @@ module RubyPitaya
25
25
  def authenticated?
26
26
  !@uid.strip.empty?
27
27
  end
28
+
29
+ def user_id
30
+ @uid
31
+ end
32
+
33
+ def user_id=(value)
34
+ @uid = value
35
+ end
28
36
  end
29
37
  end
@@ -12,7 +12,6 @@ module RubyPitaya
12
12
  def initialize(context)
13
13
  @@context = context
14
14
 
15
- @@bll = InstanceHolder.new
16
15
  @@log = Logger.new('/dev/null')
17
16
  @@setup = SetupSpecHelper.new
18
17
  @@config = ConfigSpecHelper.new
@@ -27,8 +26,7 @@ module RubyPitaya
27
26
  @@handler_router ||= HandlerRouter.new()
28
27
 
29
28
 
30
- @@initializer_content = InitializerContent.new(@@bll,
31
- @@log,
29
+ @@initializer_content = InitializerContent.new(@@log,
32
30
  @@redis_connector.redis,
33
31
  @@mongo_connector.mongo,
34
32
  @@setup,
@@ -43,7 +41,7 @@ module RubyPitaya
43
41
  @@response = @@handler_router.call(handler_name, action_name, @@session,
44
42
  @@postman, @@redis_connector.redis,
45
43
  @@mongo_connector.mongo, @@setup,
46
- @@config, @@bll, @@log, params)
44
+ @@config, @@log, params)
47
45
  end
48
46
 
49
47
  def response
@@ -74,10 +72,6 @@ module RubyPitaya
74
72
  @@setup.add(*keys, value)
75
73
  end
76
74
 
77
- def bll
78
- @@bll
79
- end
80
-
81
75
  def log
82
76
  @@log
83
77
  end
@@ -11,4 +11,8 @@ RSpec.configure do |config|
11
11
  config.before(:each) do
12
12
  ActiveRecord::Base.descendants.each { |c| c.delete_all unless c == ActiveRecord::SchemaMigration }
13
13
  end
14
+
15
+ config.after(:each) do
16
+ ActiveRecord::Base.clear_active_connections!
17
+ end
14
18
  end
@@ -1,3 +1,3 @@
1
1
  module RubyPitaya
2
- VERSION = '2.26.3'
2
+ VERSION = '3.0.1'
3
3
  end
data/lib/rubypitaya.rb CHANGED
@@ -66,7 +66,7 @@ module RubyPitaya
66
66
 
67
67
  plugin_migrations_files.each_with_index do |migration_file, i|
68
68
  migration_timestamp = base_migration_timestamp + i
69
- new_file = migration_file.gsub(/^(.+\/migration\/)\d+(_.+)$/, "\\1#{migration_timestamp}\\2")
69
+ new_file = migration_file.gsub(/^(.+\/migrations\/)\d+(_.+)$/, "\\1#{migration_timestamp}\\2")
70
70
 
71
71
  File.rename(migration_file, new_file)
72
72
  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: 2.26.3
4
+ version: 3.0.1
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-09-02 00:00:00.000000000 Z
11
+ date: 2021-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg
@@ -86,56 +86,56 @@ dependencies:
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 0.11.3
89
+ version: 0.11.4
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.11.3
96
+ version: 0.11.4
97
97
  - !ruby/object:Gem::Dependency
98
- name: sinatra
98
+ name: ostruct
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 2.1.0
103
+ version: 0.4.0
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: 2.1.0
110
+ version: 0.4.0
111
111
  - !ruby/object:Gem::Dependency
112
- name: ostruct
112
+ name: sinatra
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: 0.4.0
117
+ version: 2.1.0
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.4.0
124
+ version: 2.1.0
125
125
  - !ruby/object:Gem::Dependency
126
- name: protobuf
126
+ name: webrick
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - '='
130
130
  - !ruby/object:Gem::Version
131
- version: 3.10.4
131
+ version: 1.7.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - '='
137
137
  - !ruby/object:Gem::Version
138
- version: 3.10.4
138
+ version: 1.7.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: activerecord
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
152
  version: 6.1.4.1
153
+ - !ruby/object:Gem::Dependency
154
+ name: google-protobuf
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '='
158
+ - !ruby/object:Gem::Version
159
+ version: 3.18.0
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '='
165
+ - !ruby/object:Gem::Version
166
+ version: 3.18.0
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: sinatra-contrib
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +198,14 @@ dependencies:
184
198
  requirements:
185
199
  - - '='
186
200
  - !ruby/object:Gem::Version
187
- version: 2.1.4
201
+ version: 2.2.22
188
202
  type: :development
189
203
  prerelease: false
190
204
  version_requirements: !ruby/object:Gem::Requirement
191
205
  requirements:
192
206
  - - '='
193
207
  - !ruby/object:Gem::Version
194
- version: 2.1.4
208
+ version: 2.2.22
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: rspec
197
211
  requirement: !ruby/object:Gem::Requirement
@@ -339,6 +353,8 @@ files:
339
353
  - "./lib/rubypitaya/core/parameters.rb"
340
354
  - "./lib/rubypitaya/core/path.rb"
341
355
  - "./lib/rubypitaya/core/postman.rb"
356
+ - "./lib/rubypitaya/core/protos/nats_connector.proto"
357
+ - "./lib/rubypitaya/core/protos/nats_connector_pb.rb"
342
358
  - "./lib/rubypitaya/core/redis_connector.rb"
343
359
  - "./lib/rubypitaya/core/routes_base.rb"
344
360
  - "./lib/rubypitaya/core/session.rb"
@@ -372,7 +388,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
372
388
  - !ruby/object:Gem::Version
373
389
  version: '0'
374
390
  requirements: []
375
- rubygems_version: 3.1.4
391
+ rubygems_version: 3.2.22
376
392
  signing_key:
377
393
  specification_version: 4
378
394
  summary: Create servers with pitaya