Class: Keys::Generator
- Inherits:
-
Object
- Object
- Keys::Generator
- Defined in:
- lib/keys.rb
Instance Method Summary collapse
-
#initialize ⇒ Generator
constructor
A new instance of Generator.
- #setup ⇒ Object
Constructor Details
#initialize ⇒ Generator
Returns a new instance of Generator.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/keys.rb', line 20 def initialize # If the secure keys identifier is not set, set it to 'secure-keys' ENV['SECURE_KEYS_IDENTIFIER'] = 'secure-keys' unless ENV.key?('SECURE_KEYS_IDENTIFIER') puts "🔔 You're using a custom delimiter '#{Keys::Globals.key_delimiter}'" unless Keys::Globals.key_delimiter.eql?(Keys::Globals.default_key_delimiter) puts "🔔 You're using a custom key access identifier '#{Keys::Globals.key_access_identifier}'" unless Keys::Globals.key_access_identifier.eql?(Keys::Globals.default_key_access_identifier) # Configure cipher self.cipher = Keys::OpenSSL::Cipher.new # Configure the secret source based on the environment if Keys::Globals.ci? self.secrets_source = Keys::Core::Environment::CI.new else self.secrets_source = Keys::Core::Environment::Keychain.new end # Define the keys that we want to map self.secret_keys = secrets_source.fetch(key: Keys::Globals.key_access_identifier) .to_s .split(Keys::Globals.key_delimiter) .map(&:strip) # Add the keys that we want to map self.mapped_keys = secret_keys.map do |key| encrypted_data = cipher.encrypt(value: secrets_source.fetch(key:)) # Convert the first key chart to downcase key[0] = key[0].downcase { name: key, **encrypted_data } end end |
Instance Method Details
#setup ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/keys.rb', line 52 def setup pre_actions package = Keys::Swift::Package.new package.generate writer = Keys::Swift::Writer.new(mapped_keys: mapped_keys, secure_key_bytes: cipher.secure_key_bytes) writer.write xcframework = Keys::Swift::XCFramework.new xcframework.generate post_actions end |