Sha256: 79d85014a2db1155a6d9de4061641de4453d674fa15151f08daa4adf6868a4a6

Contents?: true

Size: 835 Bytes

Versions: 6

Compression:

Stored size: 835 Bytes

Contents

module SecretsCli
  module Check
    class Secrets
      include SecretsCli::Helpers

      attr_reader :action
      attr_reader :options

      def initialize(action, options)
        @action = action
        @options = options
      end

      def call
        error! 'Missing .secrets' unless File.exist?('.secrets')
        error! 'Missing secrets_file' if require_secrets_file? && missing_secret_file?
        error! 'Missing secrets_storage_key' if missing_secret_storage_key?
      end

      private

      def missing_secret_file?
        options.secrets_file.nil? && config.secrets_file.nil?
      end

      def require_secrets_file?
        ![:read, :edit].include?(action)
      end

      def missing_secret_storage_key?
        options.secrets_storage_key && config.secrets_storage_key.nil?
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
secrets_cli-1.12.3 lib/secrets_cli/check/secrets.rb
secrets_cli-1.13.0.beta lib/secrets_cli/check/secrets.rb
secrets_cli-1.12.2 lib/secrets_cli/check/secrets.rb
secrets_cli-1.12.1 lib/secrets_cli/check/secrets.rb
secrets_cli-1.11.0 lib/secrets_cli/check/secrets.rb
secrets_cli-1.10.0 lib/secrets_cli/check/secrets.rb