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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5d1730cdc763efec6c3774d0a1ad1a46c83dee19c8dde1ab1e37a1539c70f4c0
4
- data.tar.gz: 0252a418af68ee8cfbe36ebf73d36fcca4be42386230f0f280cfac0e1b50f18e
3
+ metadata.gz: c3cefc45610e391be322f046ad6e37c0a7a924e65f97e4117bdc70aeddf31729
4
+ data.tar.gz: 1eb94454d2aa9b84999c3b95b26875eeb40498b510fd3b93fab3209cbb80f91e
5
5
  SHA512:
6
- metadata.gz: 34153d489e3af982538d8abae50129c5c680b9f08b3dee5048c596524a1f54365be04ac1ac079c9e858609d303e82f0b16592b7706a5aada428d353ff538cbc2
7
- data.tar.gz: 066f6a7769ceb26baf3d0402802a367a1889c6237834cdb4aa840dad9adaef8c79c0004aefc93654aea2601f862aea005f1764c2662eba7570772e5f2a651bbe
6
+ metadata.gz: 9a64e15d49e7c6b7eee545dc8db86df684a02731704b6501794d2d7e90b3086c140f91d62320b95ef0dbc3173aa2961cbb61849cdf08883c50751ca8d7ff3add
7
+ data.tar.gz: b3ca0461b71571492f92573160c7b724fea22c7e2aad1cafb6a5d35f7a363032e2041642ed45c72d07b327f7106cfa9e7a1e1dd818e522fb1a4cb816bca7ca15
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- microkit-ruby-sdk (0.1.0)
4
+ microkit-ruby-sdk (0.1.10)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -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("@permit", Permit.new(config))
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 :permit}
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
@@ -1,3 +1,3 @@
1
1
  module Microkit
2
- VERSION = "0.1.10"
2
+ VERSION = "0.1.12"
3
3
  end
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.10
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