arkana 1.2.0 → 1.3.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: ea330bc2a7e6d65bb0e28e3053447c512d3145e5b7fe9d5661eede4493deba69
4
- data.tar.gz: a3cf5a8223ebbfd219a95c97e65f8ed0a81a6628ebd7b61032ba67f41d0a2826
3
+ metadata.gz: ce80a9e65c8e5657c8b6a911369535704cd614be0933aba04972b0ff593adedf
4
+ data.tar.gz: 00b7213a6d42eb9ccd3acd3970a8cd520a3452306f60898d02fa3fba22adcb13
5
5
  SHA512:
6
- metadata.gz: b63c03ce224ee7d0519447625406ccadd19e20f7fff8933ce51017a5f767459b131d5894dbcceba40d60b0c383ca5494be566a6114bdb7a3e1a059836daf0f64
7
- data.tar.gz: 4117a49c4df94c33007045198e7b30209a89433e13efb730b21c674c5f722bebc55212bf5eea6f0442db7e19e8b079b1cac320666db58b34a6eb72b06db81ec3
6
+ metadata.gz: bbfcc870b444b746a44c0ae611d92ea7fd62a72c45bc563a9217c1d4a84bfd4eb249ff8a612cb76d1911200f664195a35efb2bb6bf90f75998ddbd4fde039cfa
7
+ data.tar.gz: e8e57f955a70b2d03b58cc0566cfef9633ce9a78e765d135786c49892880c44ca171a3e2991b5399348c3bd5650b69c52fb2728c80e79eaf06da7ed8c1f93168
@@ -6,6 +6,7 @@ module SwiftTemplateHelper
6
6
  case type
7
7
  when :string then "String"
8
8
  when :boolean then "Bool"
9
+ when :integer then "Int"
9
10
  else raise "Unknown variable type '#{type}' received.'"
10
11
  end
11
12
  end
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "logger"
4
- require "colorize"
4
+ require "rainbow/refinement"
5
+ using Rainbow
5
6
 
6
7
  # Contains utilities related to display information to the user on the Terminal (the user's interface).
7
8
  module UI
@@ -32,7 +32,7 @@ class Config
32
32
 
33
33
  # rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
34
34
  def initialize(yaml)
35
- @environments = (yaml["environments"] || []).map(&:capitalize)
35
+ @environments = (yaml["environments"] || []).map(&:capitalize_first_letter)
36
36
  @environment_secrets = yaml["environment_secrets"] || []
37
37
  @global_secrets = yaml["global_secrets"] || []
38
38
  default_name = "ArkanaKeys"
@@ -4,11 +4,14 @@
4
4
  module Type
5
5
  STRING = :string
6
6
  BOOLEAN = :boolean
7
+ INTEGER = :integer
7
8
 
8
9
  def self.new(string_value:)
9
10
  case string_value
10
11
  when "true", "false"
11
12
  BOOLEAN
13
+ when /^\d+$/
14
+ INTEGER
12
15
  else
13
16
  STRING
14
17
  end
@@ -19,6 +19,16 @@ public enum <%= @namespace %> {
19
19
  element ^ cipher[offset % cipher.count]
20
20
  }, as: UTF8.self)
21
21
  }
22
+
23
+ static func decode(encoded: [UInt8], cipher: [UInt8]) -> Bool {
24
+ let stringValue: String = Self.decode(encoded: encoded, cipher: cipher)
25
+ return Bool(stringValue)!
26
+ }
27
+
28
+ static func decode(encoded: [UInt8], cipher: [UInt8]) -> Int {
29
+ let stringValue: String = Self.decode(encoded: encoded, cipher: cipher)
30
+ return Int(stringValue)!
31
+ }
22
32
  }
23
33
 
24
34
  public extension <%= @namespace %> {
@@ -41,4 +41,34 @@ final class <%= @namespace %>Tests: XCTestCase {
41
41
  ]
42
42
  XCTAssertEqual(<%= @namespace %>.decode(encoded: encoded, cipher: salt), "<%= uuid_key %>")
43
43
  }
44
+
45
+ func test_decodeTrueBoolValue_shouldDecode() {
46
+ <% bool_key = "true" %>
47
+ <% secret = generate_test_secret(key: bool_key) %>
48
+ let encoded: [UInt8] = [
49
+ <%= secret.encoded_value %>
50
+
51
+ ]
52
+ XCTAssertTrue(<%= @namespace %>.decode(encoded: encoded, cipher: salt))
53
+ }
54
+
55
+ func test_decodeFalseBoolValue_shouldDecode() {
56
+ <% bool_key = "false" %>
57
+ <% secret = generate_test_secret(key: bool_key) %>
58
+ let encoded: [UInt8] = [
59
+ <%= secret.encoded_value %>
60
+
61
+ ]
62
+ XCTAssertFalse(<%= @namespace %>.decode(encoded: encoded, cipher: salt))
63
+ }
64
+
65
+ func test_decodeIntValue_shouldDecode() {
66
+ <% int_key = "42" %>
67
+ <% secret = generate_test_secret(key: int_key) %>
68
+ let encoded: [UInt8] = [
69
+ <%= secret.encoded_value %>
70
+
71
+ ]
72
+ XCTAssertEqual(<%= @namespace %>.decode(encoded: encoded, cipher: salt), 42)
73
+ }
44
74
  }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Arkana
4
- VERSION = "1.2.0"
4
+ VERSION = "1.3.1"
5
5
  end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arkana
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roger Oba
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-06 00:00:00.000000000 Z
11
+ date: 2023-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: colorize
14
+ name: dotenv
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.8'
19
+ version: '2.7'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.8'
26
+ version: '2.7'
27
27
  - !ruby/object:Gem::Dependency
28
- name: dotenv
28
+ name: rainbow
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.7'
33
+ version: 3.1.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '2.7'
40
+ version: 3.1.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: yaml
43
43
  requirement: !ruby/object:Gem::Requirement