Sha256: 0d6b0e408bfe9477e9bf625e564d46d6389867ce0844956d18c3abeacf9d30ec
Contents?: true
Size: 1.27 KB
Versions: 18
Compression:
Stored size: 1.27 KB
Contents
module Pantograph class PluginSearch require 'terminal-table' require 'word_wrap' def self.print_plugins(search_query: nil) if search_query UI.message("Looking for pantograph plugins containing '#{search_query}'...") else UI.message("Listing all available pantograph plugins") end plugins = Pantograph::PluginFetcher.fetch_gems(search_query: search_query) if plugins.empty? UI.user_error!("Couldn't find any available pantograph plugins containing '#{search_query}'") end rows = plugins.collect do |current| [ current.name.green, WordWrap.ww(current.info, 50), current.downloads ] end params = { rows: PantographCore::PrintTable.transform_output(rows), title: (search_query ? "pantograph plugins '#{search_query}'" : "Available pantograph plugins").green, headings: ["Name", "Description", "Downloads"] } puts("") puts(Terminal::Table.new(params)) puts("") if plugins.count == 1 print_plugin_details(plugins.last) end end def self.print_plugin_details(plugin) UI.message("You can find more information for #{plugin.name} on #{plugin.homepage.green}") end end end
Version data entries
18 entries across 18 versions & 1 rubygems