arkana 1.2.0 → 1.3.0

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: 3242744410abe76a55179b7b5b96f439954ab12ba5e7ff158f6246632638fe82
4
+ data.tar.gz: 1d4f26ecd3620042a7b8766760e294565bee9d16dd21f2784fe493e82745bc14
5
5
  SHA512:
6
- metadata.gz: b63c03ce224ee7d0519447625406ccadd19e20f7fff8933ce51017a5f767459b131d5894dbcceba40d60b0c383ca5494be566a6114bdb7a3e1a059836daf0f64
7
- data.tar.gz: 4117a49c4df94c33007045198e7b30209a89433e13efb730b21c674c5f722bebc55212bf5eea6f0442db7e19e8b079b1cac320666db58b34a6eb72b06db81ec3
6
+ metadata.gz: 1a9ebab8bb7034af9b9a754f1b808f77a7d56ead4220a96037411103512a0accb5774989cf86aedf6b31f2c8426798826cab243c100c104386beae8104c36603
7
+ data.tar.gz: d8d6b424743d72b83f349078febc04bcb08621f8472211a69ec594e35ecb32c4dde96cb72ead008766f3bc5381c12f3170d356275403ac0a69c676d2fcf501e9
@@ -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
@@ -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.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
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.0
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: 2022-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize