lib/chronicle/etl/cli/plugins.rb in chronicle-etl-0.5.5 vs lib/chronicle/etl/cli/plugins.rb in chronicle-etl-0.6.1

- old
+ new

@@ -1,74 +1,73 @@ # frozen_string_literal: true -require "tty-prompt" -require "tty-spinner" +require 'tty-prompt' +require 'tty-spinner' module Chronicle module ETL module CLI # CLI commands for working with ETL plugins class Plugins < SubcommandBase default_task 'list' namespace :plugins - desc "install", "Install a plugin" + desc 'install', 'Install a plugin' def install(*plugins) - cli_fail(message: "Please specify a plugin to install") unless plugins.any? + cli_fail(message: 'Please specify a plugin to install') unless plugins.any? installed, not_installed = plugins.partition do |plugin| Chronicle::ETL::Registry::Plugins.installed?(plugin) end - puts "Already installed: #{installed.join(", ")}" if installed.any? + puts "Already installed: #{installed.join(', ')}" if installed.any? cli_exit unless not_installed.any? - spinner = TTY::Spinner.new("[:spinner] Installing #{not_installed.join(", ")}...", format: :dots_2) + spinner = TTY::Spinner.new("[:spinner] Installing #{not_installed.join(', ')}...", format: :dots_2) spinner.auto_spin not_installed.each do |plugin| spinner.update(title: "Installing #{plugin}") Chronicle::ETL::Registry::Plugins.install(plugin) - rescue Chronicle::ETL::PluginError => e - spinner.error("Error".red) + spinner.error('Error'.red) cli_fail(message: "Plugin '#{plugin}' could not be installed", exception: e) end spinner.success("(#{'successful'.green})") end - desc "uninstall", "Unintall a plugin" + desc 'uninstall', 'Unintall a plugin' def uninstall(name) spinner = TTY::Spinner.new("[:spinner] Uninstalling plugin #{name}...", format: :dots_2) spinner.auto_spin Chronicle::ETL::Registry::Plugins.uninstall(name) spinner.success("(#{'successful'.green})") rescue Chronicle::ETL::PluginError => e - spinner.error("Error".red) + spinner.error('Error'.red) cli_fail(message: "Plugin '#{name}' could not be uninstalled (was it installed?)", exception: e) end - desc "list", "Lists available plugins" + desc 'list', 'Lists available plugins' # Display all available plugins that chronicle-etl has access to def list values = Chronicle::ETL::Registry::Plugins.all .map do |plugin| [ - plugin.name, + plugin.name, plugin.description, plugin.installed ? '✓' : '', plugin.version ] end - headers = ['name', 'description', 'installed', 'version'].map{ |h| h.to_s.upcase.bold } + headers = %w[name description installed version].map { |h| h.to_s.upcase.bold } table = TTY::Table.new(headers, values) - puts "Available plugins:" + puts 'Available plugins:' puts table.render( indent: 2, padding: [0, 0], - alignments: [:left, :left, :center, :left] + alignments: %i[left left center left] ) end end end end