Sha256: d3d2a382094db65cb6e6fce6c62f536e0a65af0fbd725ee41a521548d2ff4137

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

require 'tempfile'
require 'fileutils'

class Hiera
  module Backend
    module Eyaml
      class EncryptHelper
        def self.write_important_file(args)
          require 'hiera/backend/eyaml/highlinehelper'
          filename = args[:filename]
          content = args[:content]
          mode = args[:mode]
          if File.file?("#{filename}") && !(HighlineHelper.confirm? "Are you sure you want to overwrite \"#{filename}\"?")
            raise StandardError,
                  'User aborted'
          end
          open("#{filename}", 'w') do |io|
            io.write(content)
          end
          File.chmod(mode, filename) unless mode.nil?
        end

        def self.ensure_key_dir_exists(key_file)
          key_dir = File.dirname key_file

          return if File.directory? key_dir

          begin
            FileUtils.mkdir_p key_dir
            LoggingHelper.info "Created key directory: #{key_dir}"
          rescue StandardError
            raise StandardError, "Cannot create key directory: #{key_dir}"
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hiera-eyaml-4.2.0 lib/hiera/backend/eyaml/encrypthelper.rb