Sha256: 0d79cacd64b86520c12897c3ffd1d0696dddd871a415fd92a065b4107b8d95bd

Contents?: true

Size: 1.15 KB

Versions: 5

Compression:

Stored size: 1.15 KB

Contents

require 'rake_factory'
require 'ruby_easy_rsa'

require_relative '../../mixins/global_parameters'
require_relative '../../mixins/ssl_parameters'
require_relative '../../mixins/algorithm_parameters'
require_relative '../../mixins/encrypt_key_parameters'
require_relative '../../mixins/easy_rsa_ensure_prerequisite'

module RakeEasyRSA
  module Tasks
    module Client
      class Create < RakeFactory::Task
        include Mixins::GlobalParameters
        include Mixins::SSLParameters
        include Mixins::AlgorithmParameters
        include Mixins::EncryptKeyParameters
        include Mixins::EasyRSAEnsurePrerequisite

        parameter :default_argument_names, default: [:filename_base]

        default_name :create
        default_description "Create a client certificate for the PKI"

        def argument_names
          @argument_names + default_argument_names
        end

        action do |t, args|
          puts "Creating client certificate '#{args.filename_base}'... "
          RubyEasyRSA.build_client_full(
            t.parameter_values.merge(
              filename_base: args.filename_base))
          puts "Done."
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rake_easy_rsa-0.12.0.pre.1 lib/rake_easy_rsa/tasks/client/create.rb
rake_easy_rsa-0.11.0 lib/rake_easy_rsa/tasks/client/create.rb
rake_easy_rsa-0.10.0.pre.6 lib/rake_easy_rsa/tasks/client/create.rb
rake_easy_rsa-0.10.0.pre.5 lib/rake_easy_rsa/tasks/client/create.rb
rake_easy_rsa-0.10.0.pre.4 lib/rake_easy_rsa/tasks/client/create.rb