Sha256: 96ea799627595ebe52bb5ebb86d0a53032e6f5167e064a7fe687c6957bcbc4ac

Contents?: true

Size: 1015 Bytes

Versions: 1

Compression:

Stored size: 1015 Bytes

Contents

require 'rake_factory'
require 'ruby_gpg2'

module RakeGPG
  module Tasks
    module Key
      class Import < RakeFactory::Task
        default_name :import
        default_description "Import a GPG key"

        parameter :key_file_path, required: true
        parameter :work_directory, default: 'build/gpg'
        parameter :home_directory, default: :temporary

        action do |t|
          if t.home_directory == :temporary
            Dir.mktmpdir(
                'home', t.work_directory) do |home_directory|
              import_key(t, home_directory)
            end
          else
            import_key(t, t.home_directory)
          end

        end

        private

        def import_key(t, home_directory)
          puts "Importing GPG key from #{t.key_file_path} " +
              "into #{home_directory}..."
          RubyGPG2.import(
              key_file_paths: [t.key_file_path],
              home_directory: home_directory)
          puts "Done."
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rake_gpg-0.1.0.pre.4 lib/rake_gpg/tasks/key/import.rb