arkana 1.0.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/arkana/encoder.rb +1 -0
- data/lib/arkana/helpers/enumerable.rb +16 -0
- data/lib/arkana/helpers/swift_template_helper.rb +8 -0
- data/lib/arkana/templates/arkana.podspec.erb +4 -1
- data/lib/arkana/templates/arkana.swift.erb +8 -2
- data/lib/arkana/templates/arkana_protocol.swift.erb +5 -2
- data/lib/arkana/templates/arkana_tests.swift.erb +3 -0
- data/lib/arkana/templates/interfaces.podspec.erb +2 -1
- data/lib/arkana/templates/interfaces_package.swift.erb +2 -1
- data/lib/arkana/templates/package.swift.erb +4 -3
- data/lib/arkana/version.rb +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea330bc2a7e6d65bb0e28e3053447c512d3145e5b7fe9d5661eede4493deba69
|
4
|
+
data.tar.gz: a3cf5a8223ebbfd219a95c97e65f8ed0a81a6628ebd7b61032ba67f41d0a2826
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b63c03ce224ee7d0519447625406ccadd19e20f7fff8933ce51017a5f767459b131d5894dbcceba40d60b0c383ca5494be566a6114bdb7a3e1a059836daf0f64
|
7
|
+
data.tar.gz: 4117a49c4df94c33007045198e7b30209a89433e13efb730b21c674c5f722bebc55212bf5eea6f0442db7e19e8b079b1cac320666db58b34a6eb72b06db81ec3
|
data/lib/arkana/encoder.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Enumerable extensions and utilities.
|
4
|
+
module Enumerable
|
5
|
+
# NOTE: This is a backport of Ruby 2.7 filter_map. This method can be deleted when the minimum target Ruby version is 2.7
|
6
|
+
# We're not gating against redefining the method (e.g. via `unless Enumerable.method_defined? :filter_map`) because this
|
7
|
+
# would reduce the code coverage when analysing code coverage on Ruby versions >= 2.7
|
8
|
+
def filter_map
|
9
|
+
return to_enum(:filter_map) unless block_given?
|
10
|
+
|
11
|
+
each_with_object([]) do |item, res|
|
12
|
+
processed = yield(item)
|
13
|
+
res << processed if processed
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -9,4 +9,12 @@ module SwiftTemplateHelper
|
|
9
9
|
else raise "Unknown variable type '#{type}' received.'"
|
10
10
|
end
|
11
11
|
end
|
12
|
+
|
13
|
+
def self.protocol_getter(declaration_strategy)
|
14
|
+
case declaration_strategy
|
15
|
+
when "lazy var" then "mutating get"
|
16
|
+
when "var", "let" then "get"
|
17
|
+
else raise "Unknown declaration strategy '#{declaration_strategy}' received.'"
|
18
|
+
end
|
19
|
+
end
|
12
20
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
#
|
3
|
+
# DO NOT MODIFY
|
4
|
+
# Automatically generated by Arkana (https://github.com/rogerluan/arkana)
|
4
5
|
|
5
6
|
Pod::Spec.new do |spec|
|
6
7
|
spec.name = '<%= @pod_name %>'
|
@@ -12,4 +13,6 @@ Pod::Spec.new do |spec|
|
|
12
13
|
spec.source_files = 'Sources/**/*.swift'
|
13
14
|
spec.ios.deployment_target = '11.0'
|
14
15
|
spec.swift_version = '5.0'
|
16
|
+
|
17
|
+
spec.dependency '<%= @pod_name %>Interfaces', '~> 1.0.0'
|
15
18
|
end
|
@@ -1,10 +1,14 @@
|
|
1
1
|
<% require 'arkana/helpers/string' %>
|
2
2
|
<% require 'arkana/helpers/swift_template_helper' %>
|
3
3
|
<% # TODO: Sort these import statements alphabetically %>
|
4
|
+
// DO NOT MODIFY
|
5
|
+
// Automatically generated by Arkana (https://github.com/rogerluan/arkana)
|
6
|
+
|
4
7
|
import Foundation
|
5
8
|
import <%= @import_name %>Interfaces
|
6
9
|
|
7
10
|
public enum <%= @namespace %> {
|
11
|
+
@inline(__always)
|
8
12
|
fileprivate static let salt: [UInt8] = [
|
9
13
|
<%= @salt.formatted %>
|
10
14
|
|
@@ -18,10 +22,11 @@ public enum <%= @namespace %> {
|
|
18
22
|
}
|
19
23
|
|
20
24
|
public extension <%= @namespace %> {
|
21
|
-
struct Global: <%= @
|
25
|
+
struct Global: <%= @namespace %>GlobalProtocol {
|
22
26
|
public init() {}
|
23
27
|
<% for secret in @global_secrets %>
|
24
28
|
|
29
|
+
@inline(__always)
|
25
30
|
public <%= @swift_declaration_strategy %> <%= secret.key.camel_case %>: <%= SwiftTemplateHelper.swift_type(secret.type) %> = {
|
26
31
|
let encoded: [UInt8] = [
|
27
32
|
<%= secret.encoded_value %>
|
@@ -35,10 +40,11 @@ public extension <%= @namespace %> {
|
|
35
40
|
|
36
41
|
<% for environment in @environments %>
|
37
42
|
public extension <%= @namespace %> {
|
38
|
-
struct <%= environment %>: <%= @
|
43
|
+
struct <%= environment %>: <%= @namespace %>EnvironmentProtocol {
|
39
44
|
public init() {}
|
40
45
|
<% for secret in environment_protocol_secrets(environment) %>
|
41
46
|
|
47
|
+
@inline(__always)
|
42
48
|
public <%= @swift_declaration_strategy %> <%= secret.protocol_key.camel_case %>: <%= SwiftTemplateHelper.swift_type(secret.type) %> = {
|
43
49
|
let encoded: [UInt8] = [
|
44
50
|
<%= secret.encoded_value %>
|
@@ -1,15 +1,18 @@
|
|
1
1
|
<% require 'arkana/helpers/string' %>
|
2
2
|
<% require 'arkana/helpers/swift_template_helper' %>
|
3
|
+
// DO NOT MODIFY
|
4
|
+
// Automatically generated by Arkana (https://github.com/rogerluan/arkana)
|
5
|
+
|
3
6
|
import Foundation
|
4
7
|
|
5
8
|
public protocol <%= @namespace %>GlobalProtocol {
|
6
9
|
<% for secret in @global_secrets %>
|
7
|
-
var <%= secret.protocol_key.camel_case %>: <%= SwiftTemplateHelper.swift_type(secret.type) %> {
|
10
|
+
var <%= secret.protocol_key.camel_case %>: <%= SwiftTemplateHelper.swift_type(secret.type) %> { <%= SwiftTemplateHelper.protocol_getter(@swift_declaration_strategy) %> }
|
8
11
|
<% end %>
|
9
12
|
}
|
10
13
|
|
11
14
|
public protocol <%= @namespace %>EnvironmentProtocol {
|
12
15
|
<% for secret in @environment_secrets.uniq(&:protocol_key) %>
|
13
|
-
var <%= secret.protocol_key.camel_case %>: <%= SwiftTemplateHelper.swift_type(secret.type) %> {
|
16
|
+
var <%= secret.protocol_key.camel_case %>: <%= SwiftTemplateHelper.swift_type(secret.type) %> { <%= SwiftTemplateHelper.protocol_getter(@swift_declaration_strategy) %> }
|
14
17
|
<% end %>
|
15
18
|
}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
#
|
3
|
+
# DO NOT MODIFY
|
4
|
+
# Automatically generated by Arkana (https://github.com/rogerluan/arkana)
|
4
5
|
|
5
6
|
Pod::Spec.new do |spec|
|
6
7
|
spec.name = '<%= @pod_name %>Interfaces'
|
@@ -1,6 +1,7 @@
|
|
1
1
|
// swift-tools-version: 5.6
|
2
2
|
|
3
|
-
//
|
3
|
+
// DO NOT MODIFY
|
4
|
+
// Automatically generated by Arkana (https://github.com/rogerluan/arkana)
|
4
5
|
|
5
6
|
import PackageDescription
|
6
7
|
|
@@ -25,12 +26,12 @@ let package = Package(
|
|
25
26
|
dependencies: ["<%= @import_name %>Interfaces"],
|
26
27
|
path: "Sources"
|
27
28
|
),
|
28
|
-
|
29
|
+
<% if @should_generate_unit_tests %>
|
29
30
|
.testTarget(
|
30
31
|
name: "<%= @import_name %>Tests",
|
31
32
|
dependencies: ["<%= @import_name %>"],
|
32
33
|
path: "Tests"
|
33
34
|
),
|
34
|
-
|
35
|
+
<% end %>
|
35
36
|
]
|
36
37
|
)
|
data/lib/arkana/version.rb
CHANGED
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.0
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roger Oba
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -52,7 +52,7 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.2'
|
55
|
-
description:
|
55
|
+
description:
|
56
56
|
email:
|
57
57
|
- rogerluan.oba@gmail.com
|
58
58
|
executables:
|
@@ -67,6 +67,7 @@ files:
|
|
67
67
|
- lib/arkana/config_parser.rb
|
68
68
|
- lib/arkana/encoder.rb
|
69
69
|
- lib/arkana/helpers/dotenv_helper.rb
|
70
|
+
- lib/arkana/helpers/enumerable.rb
|
70
71
|
- lib/arkana/helpers/string.rb
|
71
72
|
- lib/arkana/helpers/swift_template_helper.rb
|
72
73
|
- lib/arkana/helpers/ui.rb
|
@@ -96,7 +97,7 @@ metadata:
|
|
96
97
|
source_code_uri: https://github.com/rogerluan/arkana
|
97
98
|
changelog_uri: https://github.com/rogerluan/arkana/blob/main/CHANGELOG.md
|
98
99
|
rubygems_mfa_required: 'true'
|
99
|
-
post_install_message:
|
100
|
+
post_install_message:
|
100
101
|
rdoc_options: []
|
101
102
|
require_paths:
|
102
103
|
- lib
|
@@ -104,15 +105,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
104
105
|
requirements:
|
105
106
|
- - ">="
|
106
107
|
- !ruby/object:Gem::Version
|
107
|
-
version: 2.
|
108
|
+
version: 2.6.9
|
108
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
110
|
requirements:
|
110
111
|
- - ">="
|
111
112
|
- !ruby/object:Gem::Version
|
112
113
|
version: '0'
|
113
114
|
requirements: []
|
114
|
-
rubygems_version: 3.
|
115
|
-
signing_key:
|
115
|
+
rubygems_version: 3.3.7
|
116
|
+
signing_key:
|
116
117
|
specification_version: 4
|
117
118
|
summary: Store your keys and secrets away from your source code. Designed for Android
|
118
119
|
and iOS projects.
|