Class: Guac::Commands::Setup

Inherits:
Object
  • Object
show all
Defined in:
lib/guac/commands/setup.rb

Constant Summary collapse

PROMPT_QUEUE =
%i(
  prompt_repos
  prompt_branch_aliases
  prompt_pull_strategy
  prompt_default_branch
).freeze

Instance Method Summary collapse

Constructor Details

#initialize(options, thor) ⇒ Setup

Returns a new instance of Setup.



17
18
19
20
21
22
# File 'lib/guac/commands/setup.rb', line 17

def initialize(options, thor)
  @options = options
  @config = Guac::Config.configs
  @defaults = Guac::Config.defaults
  @thor = thor
end

Instance Method Details

#execute(_input: $stdin, output: $stdout) ⇒ Object



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

def execute(_input: $stdin, output: $stdout)
  @output = output
  @output.puts "\nšŸ„‘ Welcome to the tableside Guac builder šŸ„‘\n".green

  @body = @defaults.dup
  @body.merge!(@config) unless @config.nil?

  PROMPT_QUEUE.each do |prompt|
    send(prompt)
    @output.puts "\n"
  end

  Guac::Config.save_configs(@body)
  @output.puts "šŸ„‘ Config saved in ~/.guacrc šŸ„‘\n".bold.green
  @output.puts Guac::Config.configs.to_yaml
end