microkit-ruby-sdk 0.1.10 → 0.1.12
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 +7 -4
- 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: c3cefc45610e391be322f046ad6e37c0a7a924e65f97e4117bdc70aeddf31729
|
4
|
+
data.tar.gz: 1eb94454d2aa9b84999c3b95b26875eeb40498b510fd3b93fab3209cbb80f91e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a64e15d49e7c6b7eee545dc8db86df684a02731704b6501794d2d7e90b3086c140f91d62320b95ef0dbc3173aa2961cbb61849cdf08883c50751ca8d7ff3add
|
7
|
+
data.tar.gz: b3ca0461b71571492f92573160c7b724fea22c7e2aad1cafb6a5d35f7a363032e2041642ed45c72d07b327f7106cfa9e7a1e1dd818e522fb1a4cb816bca7ca15
|
data/Gemfile.lock
CHANGED
data/lib/microkit/microkit.rb
CHANGED
@@ -18,17 +18,17 @@ 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
|
-
config = JSON.parse(self.decrypt(res["config"], secret))
|
31
|
+
config = JSON.parse(self.decrypt(self.clean_base64_padding(res["config"]), secret))
|
32
32
|
Microkit.instance.config_kit.update(config)
|
33
33
|
Microkit.instance.features_kit.update(res["features"])
|
34
34
|
end
|
@@ -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.12
|
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
|