Sha256: a799cd06fe613fea08fc5663dae97bb1b1b975780d442d1dd9eb486f3eb03ae3

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

# frozen_string_literal: true

module Neptuno
  module CLI
    # Init Neptuno files
    class Install < Dry::CLI::Command
      include TTY::Command
      include TTY::Prompt
      include TTY::File
      include TTY::Config
      include TTY::Which

      desc 'Installs git, docker, tmux, tmuxinator and overmind'

      CONFIG = nil

      def call(**)
        install 'git'
        install 'docker'
        install 'tmux'
        install 'overmind'
        install 'tmuxinator'

        if(system("apt-get -v"))
          system("sudo apt-get update")
        end
      end

      def install(package)
        if ::TTY::Which.exist?(package)
          puts "#{package} is already installed"
        else
          puts "Installing #{package}"
          if(system("brew -v"))
            system("brew install #{package}")
          else
            if(package == 'overmind')
              system("go install github.com/DarthSim/overmind/v2@latest")
            elsif(package == 'tmuxinator')
              system("gem install tmuxinator")
            else
              system("sudo apt-get install #{package} -y")
            end
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
neptuno-1.0.10 lib/neptuno/cli/install.rb