microkit-ruby-sdk 0.1.10 → 0.1.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/microkit/microkit.rb +6 -3
- data/lib/microkit/permit.rb +26 -0
- data/lib/microkit/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5273f1616cae0d00ef9f6cf17744af23e1e21a374940de32d0235f4ded60723e
|
4
|
+
data.tar.gz: 654071429aa46a84d357e2371c4b672514925c4e2c92bda6b6e55b2214c0d308
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0cfd1cf85d2e34b57e6f2313756410f54de408f48ae85c782fb8aed3254df34c3f83835ada74b616f01b5d7f5eb183a959573510e1723df7cb50c562eed3dc0f
|
7
|
+
data.tar.gz: 37793c7be0cefed4be757c323190558284e967d94c7aae032e8a6d278caad8fa7f6a2826a380d26f393a3d46c3866f04c7900a638f48f737b32573c424602844
|
data/Gemfile.lock
CHANGED
data/lib/microkit/microkit.rb
CHANGED
@@ -18,14 +18,14 @@ module Microkit
|
|
18
18
|
# Microkit.instance.features_kit = Group('features', res["features"] if 'features' in res and type(res["features"]) == dict else {})
|
19
19
|
res = NetworkController.instance.get_latest_data('init')
|
20
20
|
res = JSON.parse(res)
|
21
|
-
config = JSON.parse(self.decrypt(res["config"], secret))
|
21
|
+
config = JSON.parse(self.decrypt(self.clean_base64_padding(res["config"]), secret))
|
22
22
|
Config.instance.set("key_vars_values", res["key_vars_values"])
|
23
23
|
Microkit.instance.instance_variable_set("@config_kit", Group.new("config", config))
|
24
24
|
Microkit.instance.instance_variable_set("@features_kit", Group.new("features", res["features"]))
|
25
|
-
Microkit.instance.instance_variable_set("@
|
25
|
+
Microkit.instance.instance_variable_set("@permissions_kit", Permit.new(Config.instance))
|
26
26
|
Microkit.instance.class.module_eval { attr_accessor :config_kit}
|
27
27
|
Microkit.instance.class.module_eval { attr_accessor :features_kit}
|
28
|
-
Microkit.instance.class.module_eval { attr_accessor :
|
28
|
+
Microkit.instance.class.module_eval { attr_accessor :permissions_kit}
|
29
29
|
published = Proc.new do |current_val, prev_val|
|
30
30
|
res = JSON.parse(current_val)
|
31
31
|
config = JSON.parse(self.decrypt(res["config"], secret))
|
@@ -61,6 +61,9 @@ module Microkit
|
|
61
61
|
decrypted = cipher.update(encrypted) + cipher.final
|
62
62
|
return decrypted
|
63
63
|
end
|
64
|
+
def self.clean_base64_padding(base64_string)
|
65
|
+
base64_string.end_with?("==") ? base64_string[0..-3] : base64_string
|
66
|
+
end
|
64
67
|
class Microkit
|
65
68
|
include Singleton
|
66
69
|
attr_accessor :subscription
|
@@ -0,0 +1,26 @@
|
|
1
|
+
|
2
|
+
module Microkit
|
3
|
+
class Permit
|
4
|
+
def initialize(config)
|
5
|
+
@config = config
|
6
|
+
end
|
7
|
+
|
8
|
+
def permit(method, path, role, data = {})
|
9
|
+
project_id = @config.get('key_vars_values')['project_id']
|
10
|
+
service = @config.get('service') || ''
|
11
|
+
|
12
|
+
params = {
|
13
|
+
'project_id' => project_id,
|
14
|
+
'method' => method,
|
15
|
+
'path' => path,
|
16
|
+
'role' => role,
|
17
|
+
'data' => data,
|
18
|
+
'service' => service
|
19
|
+
}
|
20
|
+
|
21
|
+
res = HttpClient.instance.post('check_permissions', 'permit', params)
|
22
|
+
res = JSON.parse(res.to_s, symbolize_names: true)
|
23
|
+
res[:permit] || false
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/microkit/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: microkit-ruby-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- chaimvaid
|
@@ -77,6 +77,7 @@ files:
|
|
77
77
|
- lib/microkit/item.rb
|
78
78
|
- lib/microkit/microkit.rb
|
79
79
|
- lib/microkit/network_controller.rb
|
80
|
+
- lib/microkit/permit.rb
|
80
81
|
- lib/microkit/publisher.rb
|
81
82
|
- lib/microkit/version.rb
|
82
83
|
- microkit-ruby-sdk.gemspec
|