Module: CodeSnippet::CLI::Presenters

Defined in:
lib/code_snippet/cli/presenters.rb

Overview

CLI Presentation functions

Class Method Summary collapse

Class Method Details

.list_snippets(snippets) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/code_snippet/cli/presenters.rb', line 24

def self.list_snippets(snippets)
  result_header = %w[NAME LANG PATH]

  results = TTY::Table.new(
    result_header,
    snippets.map do |snippet|
      [
        snippet.name,
        snippet.ext,
        snippet.path
      ]
    end
  )

  CLI.print_message(results.render(:ascii))
end

.pick_from(question, snips) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/code_snippet/cli/presenters.rb', line 9

def self.pick_from(question, snips)
  prompt = TTY::Prompt.new

  choice = prompt.select(
    question,
    snips.map(&:path)
  )

  snips.find { |snip| snip.path == choice }
end

.show(snip) ⇒ Object



20
21
22
# File 'lib/code_snippet/cli/presenters.rb', line 20

def self.show(snip)
  CLI.print_message(snip.content)
end