5
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
|
# File 'lib/gemview/view.rb', line 5
def self.info(gem:)
gem = Gem.find(name: gem.name, version: gem.version) unless gem.dependencies?
prompt = <<~PROMPT.chomp
#{gem.}
More info:
PROMPT
choices_proc = proc do
[
{name: "Readme", disabled: gem.readme? ? nil : "(missing)"},
{name: "Changelog", disabled: gem.changelog? ? nil : "(missing)"},
"Dependencies",
"Versions"
]
end
Terminal.clear_screen
Terminal.choose(message: prompt, choices: choices_proc) do |choice|
title = gem.title_str(subsection: choice)
case choice
when "Readme"
Terminal.page([title, gem.readme].join("\n")) if gem.readme
when "Changelog"
Terminal.page([title, gem.changelog].join("\n")) if gem.changelog
when "Dependencies"
Terminal.page([title, gem.dependencies_str].join("\n"))
when "Versions"
Terminal.page([title, gem.versions_str].join("\n"))
else
raise ArgumentError, "Unknown choice: #{choice}"
end
end
end
|