Sha256: 386547c586e10ccda4044849e54bdc26b47d55c1b7c28f8ed3adb9e45d87d3d1

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

module InstallGemLocal
  class Action
    extend InstallGemLocal::InstallGem
    extend InstallGemLocal::CopyGem
    extend InstallGemLocal::RemoveGem
    extend InstallGemLocal::BuildGem
    extend InstallGemLocal::PushGem

    class << self
      def till_install
        remove_gem
        build_gem
        install_gem
      end

      def till_copy
        till_install
        copy_gem
      end

      private

      def tty_command
        @tty_command ||= TTY::Command.new
      end

      def file_names
        file = tty_command.run('find -type f -name "*.gem"')
        file.entries
      end

      def multiple_version_selection(include_all: false)
        options =
          include_all ? { '*' => { 'value' => 'all', 'display' => 'All Versions' } } : {}
        file_names.each_with_index do |file_name, index|
          options[('a'..'z').to_a[index]] = { 'value' => file_name, 'display' => file_name }
        end
        options['/'] = { 'value' => 'exit', 'display' => 'Exit' }
        Downup::Base.new(flash_message: 'Choose which version',
                         options: options).prompt
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
install_gem_local-0.1.7 lib/install_gem_local/action.rb