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

Version Path
pantograph-0.1.22 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.21 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.20 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.19 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.17 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.16 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.15 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.14 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.13 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.12 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.10 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.8 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.7 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.6 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.4 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.3 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.1 pantograph/lib/pantograph/plugins/plugin_search.rb
pantograph-0.1.0 pantograph/lib/pantograph/plugins/plugin_search.rb