6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'pantograph/lib/pantograph/plugins/plugin_search.rb', line 6
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
|