rubypitaya 3.0.0 → 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: 931cb18a2775c209f73bb7a6b3894e07345fbb5eba18850602a7756ca3fd20ae
4
- data.tar.gz: 91f1e1bd1f5c6d7a7ce77a236092840d6cb7a8671b2834a40d517e313c5975be
3
+ metadata.gz: d50d6d5ffeeab38f9d623c33970eb87e4e89ad64e385f4fe57a8d414342e969a
4
+ data.tar.gz: 7fb8db293deae83dd0de428a825588b9ca6418eab26a220ab983ac6b1737ab69
5
5
  SHA512:
6
- metadata.gz: c9e8ecc54cd14a666f5b4f500a702f78f6788756c6bb61b3ae6ea84d2b473f1bf0bb7443e5390a9ea5a2aaeda6cc9968dfdb179e3e3ed38f8b3f7fc235326657
7
- data.tar.gz: 1ccb6fc931ecd72552496174d578344795066bcb56b5209ae2f11644a4bea6f1775ac9cbccbc5e72ff0df85be98a4c824eda43f296e092cd3f439b81e2a33ec9
6
+ metadata.gz: 88510c87137b193a0f4f1f2a12ad7fd7c2c9acb1be8d2aaeee7545b8f1832b380b4e57a4e9d072deef7e526cc87dfd86461584933fc4e9e0d5f466c520408831
7
+ data.tar.gz: 341555828f6ed7c3996210cf64bc21cc36e756940b1f506cf81f62aaecbc0aadb18fe07fb9cc6c525d3455c4d45ff22e82efa257e6eee63d41b59b502a85c2c9
@@ -1,6 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem 'rubypitaya', '3.0.0'
3
+ gem 'rubypitaya', '3.0.1'
4
4
 
5
5
  group :development do
6
6
  gem 'pry', '0.14.1'
@@ -52,10 +52,10 @@ GEM
52
52
  grpc (~> 1.17)
53
53
  eventmachine (1.2.7)
54
54
  ffi (1.15.4)
55
- google-protobuf (3.18.0)
55
+ google-protobuf (3.18.0-x86_64-linux)
56
56
  googleapis-common-protos-types (1.2.0)
57
57
  google-protobuf (~> 3.14)
58
- grpc (1.40.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)
@@ -64,7 +64,6 @@ GEM
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)
68
67
  mime-types (3.3.1)
69
68
  mime-types-data (~> 3.2015)
70
69
  mime-types-data (3.2021.0901)
@@ -79,11 +78,6 @@ GEM
79
78
  eventmachine (~> 1.2, >= 1.2)
80
79
  ostruct (0.4.0)
81
80
  pg (1.2.3)
82
- protobuf (3.10.4)
83
- activesupport (>= 3.2)
84
- middleware
85
- thor
86
- thread_safe
87
81
  pry (0.14.1)
88
82
  coderay (~> 1.1)
89
83
  method_source (~> 1.0)
@@ -109,14 +103,14 @@ GEM
109
103
  rspec-support (~> 3.10.0)
110
104
  rspec-support (3.10.2)
111
105
  ruby2_keywords (0.0.5)
112
- rubypitaya (3.0.0)
106
+ rubypitaya (3.0.1)
113
107
  activerecord (= 6.1.4.1)
114
108
  etcdv3 (= 0.11.4)
109
+ google-protobuf (= 3.18.0)
115
110
  mongo (= 2.15.0)
116
111
  nats (= 0.11.0)
117
112
  ostruct (= 0.4.0)
118
113
  pg (= 1.2.3)
119
- protobuf (= 3.10.4)
120
114
  rake (= 13.0.6)
121
115
  redis (= 4.4.0)
122
116
  sinatra (= 2.1.0)
@@ -135,8 +129,6 @@ GEM
135
129
  tilt (~> 2.0)
136
130
  sys-uname (1.2.2)
137
131
  ffi (~> 1.1)
138
- thor (1.1.0)
139
- thread_safe (0.3.6)
140
132
  tilt (2.0.10)
141
133
  tzinfo (2.0.4)
142
134
  concurrent-ruby (~> 1.0)
@@ -144,7 +136,7 @@ GEM
144
136
  zeitwerk (2.4.2)
145
137
 
146
138
  PLATFORMS
147
- ruby
139
+ x86_64-linux
148
140
 
149
141
  DEPENDENCIES
150
142
  bundler (= 2.2.22)
@@ -152,7 +144,7 @@ DEPENDENCIES
152
144
  listen (= 3.7.0)
153
145
  pry (= 0.14.1)
154
146
  rspec (= 3.10.0)
155
- rubypitaya (= 3.0.0)
147
+ rubypitaya (= 3.0.1)
156
148
 
157
149
  BUNDLED WITH
158
150
  2.2.22
@@ -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
@@ -1,3 +1,3 @@
1
1
  module RubyPitaya
2
- VERSION = '3.0.0'
2
+ VERSION = '3.0.1'
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: 3.0.0
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-23 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
@@ -137,33 +137,33 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: 1.7.0
139
139
  - !ruby/object:Gem::Dependency
140
- name: protobuf
140
+ name: activerecord
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 3.10.4
145
+ version: 6.1.4.1
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: 3.10.4
152
+ version: 6.1.4.1
153
153
  - !ruby/object:Gem::Dependency
154
- name: activerecord
154
+ name: google-protobuf
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - '='
158
158
  - !ruby/object:Gem::Version
159
- version: 6.1.4.1
159
+ version: 3.18.0
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - '='
165
165
  - !ruby/object:Gem::Version
166
- version: 6.1.4.1
166
+ version: 3.18.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: sinatra-contrib
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -353,6 +353,8 @@ files:
353
353
  - "./lib/rubypitaya/core/parameters.rb"
354
354
  - "./lib/rubypitaya/core/path.rb"
355
355
  - "./lib/rubypitaya/core/postman.rb"
356
+ - "./lib/rubypitaya/core/protos/nats_connector.proto"
357
+ - "./lib/rubypitaya/core/protos/nats_connector_pb.rb"
356
358
  - "./lib/rubypitaya/core/redis_connector.rb"
357
359
  - "./lib/rubypitaya/core/routes_base.rb"
358
360
  - "./lib/rubypitaya/core/session.rb"