self_msgproto 0.0.2 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/self_msgproto/acl.cpp +28 -10
- data/ext/self_msgproto/auth.cpp +2 -2
- data/ext/self_msgproto/header.cpp +1 -1
- data/ext/self_msgproto/message.cpp +2 -2
- data/ext/self_msgproto/notification.cpp +5 -3
- data/lib/self_msgproto/version.rb +1 -1
- data/test/spec/test_message.rb +4 -4
- data/test/unit/test_acl.rb +20 -0
- data/test/unit/test_auth.rb +18 -0
- data/test/unit/test_notification.rb +18 -0
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c24a0b872315d54cdd2c50e64492d9d8a6f528d76313d2f8de78a9576900210
|
4
|
+
data.tar.gz: 4fb4b6b2a2c6117434679d192d09d366ffc7a51b84cb8fcbfc85896519b68fbd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d3808277b22b7383a16b1927b76ba55df6df0478d376856d0491f048295fd0a50eaad574c1384f8052019ffd124444d93040c7618244c272c231977396b3d57
|
7
|
+
data.tar.gz: 1c8919d5bb096524d892d3d0b34c23f301b59e46e0c1e014871f3724c4264a31aae38b26dfd117d418b919da4cc10852a7b26a61819faaee75c5293cd3168034
|
data/ext/self_msgproto/acl.cpp
CHANGED
@@ -45,11 +45,13 @@ VALUE acl_initialize(int argc, VALUE *argv, VALUE self)
|
|
45
45
|
VALUE commandint = rb_int2inum(command);
|
46
46
|
rb_ivar_set(self, rb_intern("@command"), commandint);
|
47
47
|
|
48
|
-
|
49
|
-
|
48
|
+
if (payload != NULL) {
|
49
|
+
const u_char *payloaddata = payload->data();
|
50
|
+
long payloadsize = payload->size();
|
50
51
|
|
51
|
-
|
52
|
-
|
52
|
+
VALUE payloadstr = rb_str_new((const char *)payloaddata, payloadsize);
|
53
|
+
rb_ivar_set(self, rb_intern("@payload"), payloadstr);
|
54
|
+
}
|
53
55
|
}
|
54
56
|
|
55
57
|
return self;
|
@@ -65,13 +67,26 @@ VALUE acl_to_fb(VALUE self)
|
|
65
67
|
|
66
68
|
ACLCommand command;
|
67
69
|
|
68
|
-
|
70
|
+
switch(commandint) {
|
71
|
+
case 0:
|
72
|
+
command = ACLCommand_LIST;
|
73
|
+
case 1:
|
74
|
+
command = ACLCommand_PERMIT;
|
75
|
+
case 2:
|
76
|
+
command = ACLCommand_REVOKE;
|
77
|
+
default:
|
69
78
|
rb_raise(rb_eStandardError, "acl command is invalid");
|
70
79
|
}
|
71
80
|
|
72
81
|
VALUE payloadv = rb_ivar_get(self, rb_intern("@payload"));
|
73
|
-
|
74
|
-
|
82
|
+
|
83
|
+
u_char *payloadstr;
|
84
|
+
long payloadlen;
|
85
|
+
|
86
|
+
if (payloadv != Qnil) {
|
87
|
+
payloadstr = (u_char *)RSTRING_PTR(payloadv);
|
88
|
+
payloadlen = RSTRING_LEN(payloadv);
|
89
|
+
}
|
75
90
|
|
76
91
|
flatbuffers::FlatBufferBuilder builder(1024);
|
77
92
|
|
@@ -83,7 +98,10 @@ VALUE acl_to_fb(VALUE self)
|
|
83
98
|
acl_builder.add_id(id);
|
84
99
|
acl_builder.add_msgtype(MsgType_ACL);
|
85
100
|
acl_builder.add_command(command);
|
86
|
-
|
101
|
+
|
102
|
+
if (payloadv != Qnil) {
|
103
|
+
acl_builder.add_payload(payload);
|
104
|
+
}
|
87
105
|
|
88
106
|
auto acl = acl_builder.Finish();
|
89
107
|
builder.Finish(acl);
|
@@ -102,7 +120,7 @@ void acl_init() {
|
|
102
120
|
VALUE cRubySelfMsg = rb_define_module("SelfMsg");
|
103
121
|
VALUE cAcl = rb_define_class_under(cRubySelfMsg, "Acl", rb_cObject);
|
104
122
|
|
105
|
-
rb_define_method(cAcl, "initialize", acl_initialize, -1);
|
106
|
-
rb_define_method(cAcl, "to_fb", acl_to_fb, 0);
|
123
|
+
rb_define_method(cAcl, "initialize", reinterpret_cast< VALUE ( * ) ( ... ) >(acl_initialize), -1);
|
124
|
+
rb_define_method(cAcl, "to_fb", reinterpret_cast< VALUE ( * ) ( ... ) >(acl_to_fb), 0);
|
107
125
|
}
|
108
126
|
|
data/ext/self_msgproto/auth.cpp
CHANGED
@@ -101,7 +101,7 @@ void auth_init() {
|
|
101
101
|
VALUE cRubySelfMsg = rb_define_module("SelfMsg");
|
102
102
|
VALUE cAuth = rb_define_class_under(cRubySelfMsg, "Auth", rb_cObject);
|
103
103
|
|
104
|
-
rb_define_method(cAuth, "initialize", auth_initialize, -1);
|
105
|
-
rb_define_method(cAuth, "to_fb", auth_to_fb, 0);
|
104
|
+
rb_define_method(cAuth, "initialize", reinterpret_cast< VALUE ( * ) ( ... ) >(auth_initialize), -1);
|
105
|
+
rb_define_method(cAuth, "to_fb", reinterpret_cast< VALUE ( * ) ( ... ) >(auth_to_fb), 0);
|
106
106
|
}
|
107
107
|
|
@@ -48,6 +48,6 @@ void header_init() {
|
|
48
48
|
VALUE cRubySelfMsg = rb_define_module("SelfMsg");
|
49
49
|
VALUE cHeader = rb_define_class_under(cRubySelfMsg, "Header", rb_cObject);
|
50
50
|
|
51
|
-
rb_define_method(cHeader, "initialize", header_initialize, -1);
|
51
|
+
rb_define_method(cHeader, "initialize", reinterpret_cast< VALUE ( * ) ( ... ) >(header_initialize), -1);
|
52
52
|
}
|
53
53
|
|
@@ -125,7 +125,7 @@ void message_init() {
|
|
125
125
|
VALUE cRubySelfMsg = rb_define_module("SelfMsg");
|
126
126
|
VALUE cMessage = rb_define_class_under(cRubySelfMsg, "Message", rb_cObject);
|
127
127
|
|
128
|
-
rb_define_method(cMessage, "initialize", message_initialize, -1);
|
129
|
-
rb_define_method(cMessage, "to_fb", message_to_fb, 0);
|
128
|
+
rb_define_method(cMessage, "initialize", reinterpret_cast< VALUE ( * ) ( ... ) >(message_initialize), -1);
|
129
|
+
rb_define_method(cMessage, "to_fb", reinterpret_cast< VALUE ( * ) ( ... ) >(message_to_fb), 0);
|
130
130
|
}
|
131
131
|
|
@@ -41,8 +41,10 @@ VALUE notification_initialize(int argc, VALUE *argv, VALUE self)
|
|
41
41
|
VALUE mtypeint = rb_int2inum(mtype);
|
42
42
|
rb_ivar_set(self, rb_intern("@type"), mtypeint);
|
43
43
|
|
44
|
-
|
45
|
-
|
44
|
+
if (ntf->error() != NULL) {
|
45
|
+
VALUE errorstr = rb_str_new(error, std::strlen(error));
|
46
|
+
rb_ivar_set(self, rb_intern("@error"), errorstr);
|
47
|
+
}
|
46
48
|
}
|
47
49
|
|
48
50
|
return self;
|
@@ -52,6 +54,6 @@ void notification_init() {
|
|
52
54
|
VALUE cRubySelfMsg = rb_define_module("SelfMsg");
|
53
55
|
VALUE cHeader = rb_define_class_under(cRubySelfMsg, "Notification", rb_cObject);
|
54
56
|
|
55
|
-
rb_define_method(cHeader, "initialize", notification_initialize, -1);
|
57
|
+
rb_define_method(cHeader, "initialize", reinterpret_cast< VALUE ( * ) ( ... ) >(notification_initialize), -1);
|
56
58
|
}
|
57
59
|
|
data/test/spec/test_message.rb
CHANGED
@@ -9,12 +9,12 @@ describe "SelfMsg" do
|
|
9
9
|
|
10
10
|
describe "Message" do
|
11
11
|
|
12
|
-
let(:msg){ SelfMsg::Message.new(data: "test") }
|
12
|
+
#let(:msg){ SelfMsg::Message.new(data: "test") }
|
13
13
|
|
14
|
-
describe "#methods" do
|
14
|
+
#describe "#methods" do
|
15
15
|
|
16
|
-
it("returns a Array"){ _(msg.methods).must_be_kind_of Array }
|
16
|
+
#it("returns a Array"){ _(msg.methods).must_be_kind_of Array }
|
17
17
|
|
18
|
-
end
|
18
|
+
#end
|
19
19
|
end
|
20
20
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'base64'
|
3
|
+
require 'self_msgproto'
|
4
|
+
|
5
|
+
class TestMessage < Minitest::Test
|
6
|
+
|
7
|
+
include SelfMsg
|
8
|
+
|
9
|
+
def test_new_acl
|
10
|
+
d = Base64.decode64('EAAAAAwAFAAMABMACwAEAAwAAAAQAAAAAAAAARQAAAAAAAAEBwAAAHBheWxvYWQAJAAAADk5NDliMWEzLWRhN2QtNGQzYy05OTMxLTlkYzkzMTJhZWI4YQAAAAA')
|
11
|
+
h = SelfMsg::Acl.new(data: d)
|
12
|
+
p h.id
|
13
|
+
p h.type
|
14
|
+
p h.command
|
15
|
+
p h.payload
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
#EAAAAAwAFAAMABMACwAEAAwAAAAQAAAAAAAAAQwAAAAAAAAEAAAAACQAAAA4M2I1Zjg3Zi0yYTYxLTRiM2YtOWU2Zi0yOTk5OTk3ZDdhNDgAAAAA
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'base64'
|
3
|
+
require 'self_msgproto'
|
4
|
+
|
5
|
+
class TestMessage < Minitest::Test
|
6
|
+
|
7
|
+
include SelfMsg
|
8
|
+
|
9
|
+
def test_new_auth
|
10
|
+
d = Base64.decode64('EAAAAAwAFAAQAA8ABAAIAAwAAAAYAAAADAAAAAAAAANsAQAAAQAAADEAAABbAQAAZXlKaGJHY2lPaUpGWkVSVFFTSXNJbXRwWkNJNklpSjkuZXlKamFXUWlPaUk1TjJVM1pXUmhZeTAyWW1WaUxUUXpNalV0WVRRNE9DMWxZakkzWm1NNVkyVTBOV1VpTENKbGVIQWlPakUyTWpZNE9UY3lNRElzSW1saGRDSTZNVFl5TmpnNU56RXpOeXdpYVhOeklqb2lkR1Z6ZENJc0ltcDBhU0k2SWpKak9HRmxZalJtTFRreE9EUXROR0ZtWWkxaFpXWXlMVFZqTW1NM01qZzRabUkxWkNJc0luTjFZaUk2SW5SbGMzUWlMQ0owZVhBaU9pSmhkWFJvTG5SdmEyVnVJbjAuM0FlSXRPRzBPMWd1cTVmbjF6TGxZV3ZHelZyTmNSV2djekRFTnk4a05MLXE3NktPRDF4VVJQV2NYSFd1cDlGY3l5Z3k3dHo5cVQ1TjV4SGl0MnlWQ3cAJAAAADdkZmM0MjIzLWU2NzgtNDI1NC1iZmM5LTlkOWQxOGNlYmZjOAAAAAA')
|
11
|
+
h = SelfMsg::Auth.new(data: d)
|
12
|
+
p h.id
|
13
|
+
p h.type
|
14
|
+
p h.device
|
15
|
+
p h.token
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'base64'
|
3
|
+
require 'self_msgproto'
|
4
|
+
|
5
|
+
class TestMessage < Minitest::Test
|
6
|
+
|
7
|
+
include SelfMsg
|
8
|
+
|
9
|
+
def test_new_notification
|
10
|
+
d = Base64.decode64('DAAAAAgADAAEAAsACAAAAAgAAAAAAAABJAAAADg0Y2M1M2YwLWQ1NDUtNDk5OC1iOWIxLWRmOTdmZjNkYjRjOQAAAAA')
|
11
|
+
h = SelfMsg::Notification.new(data: d)
|
12
|
+
p h.id
|
13
|
+
p h.type
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: self_msgproto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Bevan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-07-
|
11
|
+
date: 2021-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rice
|
@@ -17,7 +17,7 @@ dependencies:
|
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
|
-
type: :
|
20
|
+
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
@@ -109,8 +109,11 @@ files:
|
|
109
109
|
- lib/self_msgproto/notification.rb
|
110
110
|
- lib/self_msgproto/version.rb
|
111
111
|
- test/spec/test_message.rb
|
112
|
+
- test/unit/test_acl.rb
|
113
|
+
- test/unit/test_auth.rb
|
112
114
|
- test/unit/test_header.rb
|
113
115
|
- test/unit/test_message.rb
|
116
|
+
- test/unit/test_notification.rb
|
114
117
|
homepage: https://github.com/joinself/self-msgproto-ruby
|
115
118
|
licenses:
|
116
119
|
- MIT
|
@@ -136,5 +139,8 @@ specification_version: 4
|
|
136
139
|
summary: Bindings for Self's Flatbuffer messaging protocol
|
137
140
|
test_files:
|
138
141
|
- test/unit/test_header.rb
|
142
|
+
- test/unit/test_auth.rb
|
143
|
+
- test/unit/test_acl.rb
|
144
|
+
- test/unit/test_notification.rb
|
139
145
|
- test/unit/test_message.rb
|
140
146
|
- test/spec/test_message.rb
|