Class: SecureKeys::Core::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/core/generator.rb

Instance Method Summary collapse

Constructor Details

#initializeGenerator

Returns a new instance of Generator.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/core/generator.rb', line 21

def initialize
  # Configure cipher
  self.cipher = OpenSSL::Cipher.new
  self.secrets_source = Globals.secret_keys_source

  # Define the keys that we want to map
  self.secret_keys = secrets_source.fetch(key: Globals.key_access_identifier)
                                   .to_s
                                   .split(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:))
    { name: key.camelize, **encrypted_data }
  end

  # Configure the XCFramework
  self.xcframework = Swift::XCFramework.new
end

Instance Method Details

#generateObject



42
43
44
45
46
47
48
49
50
51
52
# File 'lib/core/generator.rb', line 42

def generate
  if Globals.generate_xcframework?
    pre_actions
    generate_swift_package
    write_keys
    xcframework.generate
    post_actions
  end

  xcframework.configure_xcframework_to_xcodeproj
end