Sha256: 9a820e6f65cce6ea4203ce708a4f3f39dedf9619fdf0c173c602679921e6eea6

Contents?: true

Size: 1.2 KB

Versions: 1

Compression:

Stored size: 1.2 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'

        return unless system('apt-get -v')

        system('sudo apt-get update')
      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}")
          elsif package == 'overmind'
            system('go install github.com/DarthSim/overmind/v2@latest')
          elsif package == 'tmuxinator'
            system('ASDF_RUBY_VERSION=system gem update bundler')
            system('ASDF_RUBY_VERSION=system gem install tmuxinator')
          else
            system("sudo apt-get install #{package} -y")
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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