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
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/easy_creds/views/menu.rb', line 6
def self.ask(prompt)
p = Theme.pastel
choices = [
{ name: Theme.dim(' ── Inspect ──────────────────────────────────'),
value: nil, disabled: '' },
{ name: " #{Theme.bold('status')} #{Theme.dim('─')} show local vs 1Password drift",
value: :status },
{ name: Theme.dim(' ── Sync ─────────────────────────────────────'),
value: nil, disabled: '' },
{ name: " #{Theme.bold('init')} #{Theme.dim('─')} bootstrap credentials from example.yml",
value: :init },
{ name: " #{Theme.bold('push')} #{Theme.dim('─')} #{Theme::ICONS[:push]} local → 1Password",
value: :push },
{ name: " #{Theme.bold('pull')} #{Theme.dim('─')} #{Theme::ICONS[:pull]} 1Password → local",
value: :pull },
{ name: Theme.dim(' ── Edit ─────────────────────────────────────'),
value: nil, disabled: '' },
{ name: " #{Theme.bold('edit')} #{Theme.dim('─')} interactive key-by-key editor",
value: :edit },
{ name: " #{Theme.bold('editor')} #{Theme.dim('─')} open decrypted YAML in $EDITOR",
value: :editor_edit },
{ name: Theme.dim(' ─────────────────────────────────────────────'),
value: nil, disabled: '' },
{ name: " #{Theme.bold('local')} #{Theme.dim('─')} manage encrypted local override",
value: :local },
{ name: " #{Theme.bold('switch')} #{Theme.dim('─')} change environment",
value: :switch },
{ name: " #{Theme.dim('quit')}",
value: :quit }
]
prompt.select(
"\nWhat would you like to do?",
choices,
cycle: true,
filter: false,
per_page: choices.size
)
end
|