Sha256: 0fc02e21fa9cdfbf026167d8699fa94222a8f19a291a46d8629e1392476073f3

Contents?: true

Size: 1.8 KB

Versions: 1

Compression:

Stored size: 1.8 KB

Contents

module ActiveScripts
  module Packages
    class Rbenv < ActiveScripts::Packages::Base

      # INFO: ActiveScripts::Packages::Rbenv contains code that
      #   execute the rbenv package.

      private

      def install
        if package_installed?(includes: "rbenv")
          notify_package_exists!
        else
          case $operating_system
          when :macosx
            execute_command!("brew install rbenv")
            execute_command!("cat #{addendum_path!('rbenv.txt')} >> ~/.bash_profile")
            execute_command!("source ~/.bash_profile")
            say_ok("   Installation complete!")
          when :linux
            execute_command!("brew install rbenv")
            execute_command!("cat #{addendum_path!('rbenv.txt')} >> ~/.bashrc")
            execute_command!("source ~/.bashrc")
            say_ok("   Installation complete!")
          else
            notify_package_unavailable!
          end
        end
      end

      def upgrade
        if package_installed?(includes: "rbenv")
          case $operating_system
          when :macosx, :linux
            output = execute_command!("brew upgrade rbenv")
            say_warning("   [!] #{output.squish}") unless option_dry_run? || package_output?(output, includes: "Error:")
            say_ok("   Upgrade complete!")
          else
            notify_package_unavailable!
          end
        else
          notify_package_missing!
        end
      end

      def uninstall
        if package_installed?(includes: "rbenv")
          case $operating_system
          when :macosx, :linux
            execute_command!("brew remove rbenv")
            say_ok("   Uninstallation complete!")
          else
            notify_package_unavailable!
          end
        else
          notify_package_missing!
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
active_scripts-0.1.0 lib/active_scripts/packages/rbenv.rb