Sha256: 96c8a693b71040c1043863f59a69b224928ddeb6676a699289da59387c2fef67

Contents?: true

Size: 684 Bytes

Versions: 3

Compression:

Stored size: 684 Bytes

Contents

class Kamal::Secrets::Adapters::Base
  delegate :optionize, to: Kamal::Utils

  def fetch(secrets, account: nil, from: nil)
    raise RuntimeError, "Missing required option '--account'" if requires_account? && account.blank?

    check_dependencies!

    session = login(account)
    full_secrets = secrets.map { |secret| [ from, secret ].compact.join("/") }
    fetch_secrets(full_secrets, account: account, session: session)
  end

  def requires_account?
    true
  end

  private
    def login(...)
      raise NotImplementedError
    end

    def fetch_secrets(...)
      raise NotImplementedError
    end

    def check_dependencies!
      raise NotImplementedError
    end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
kamal-2.4.0 lib/kamal/secrets/adapters/base.rb
nocoffee-kamal-2.3.0.3 lib/kamal/secrets/adapters/base.rb
nocoffee-kamal-2.3.0.2 lib/kamal/secrets/adapters/base.rb