Sha256: a987c7753c3d8abe145ea36a7d107a63d49cf844d8f62dbc68ee6e15fd5b29d5

Contents?: true

Size: 1.09 KB

Versions: 16

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

require 'rake_factory'

require_relative '../mixins/support'

module RakeGitCrypt
  module Tasks
    class Reinstall < RakeFactory::Task
      include Mixins::Support

      default_name :reinstall
      default_description 'Reinstall git-crypt.'

      parameter :uninstall_task_name, default: :uninstall
      parameter :install_task_names, default: [:install]

      action do |task, args|
        puts('Reinstalling git-crypt...')
        validate(task)
        uninstall_git_crypt(task, args)
        install_git_crypt(task, args)
      end

      private

      def validate(task)
        [uninstall_task_name, *install_task_names].each do |name|
          raise_task_undefined(name) unless task_defined?(task, name)
        end
      end

      def uninstall_git_crypt(task, args)
        invoke_and_reenable_task_with_name(task, uninstall_task_name, args)
      end

      def install_git_crypt(task, args)
        install_task_names.each do |install_task_name|
          invoke_and_reenable_task_with_name(task, install_task_name, args)
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
rake_git_crypt-0.3.0.pre.2 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.3.0.pre.1 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.2.0 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.34 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.33 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.32 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.31 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.30 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.29 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.28 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.27 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.26 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.25 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.24 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.23 lib/rake_git_crypt/tasks/reinstall.rb
rake_git_crypt-0.1.0.pre.22 lib/rake_git_crypt/tasks/reinstall.rb