Class: MultiapiCli::CLI
- Inherits:
-
Thor
- Object
- Thor
- MultiapiCli::CLI
- Defined in:
- lib/multiapi_cli.rb
Instance Method Summary collapse
Instance Method Details
#config ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/multiapi_cli.rb', line 41 def config prompt = TTY::Prompt.new package_manager = prompt.select("Qual gerenciador de pacotes você usa?") do || .choice "Homebrew (brew)", :brew .choice "asdf", :asdf .choice "rbenv", :rbenv .choice "rvm", :rvm end config = { package_manager: package_manager } config_dir = File.join(Dir.home, '.multiapi') FileUtils.mkdir_p(config_dir) unless Dir.exist?(config_dir) config_file = File.join(config_dir, 'config.yml') File.write(config_file, config.to_yaml) puts "✔ Configuração salva com sucesso!" end |
#generate(directory = nil) ⇒ Object
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 |
# File 'lib/multiapi_cli.rb', line 13 def generate(directory = nil) @working_directory = directory == '.' ? Dir.pwd : nil prompt = TTY::Prompt.new type = prompt.select("O que você deseja criar?") do || .choice "Recurso Completo (API + Frontend)", :full_resource .choice "Apenas API", :api_only .choice "Apenas Frontend", :frontend_only end name = prompt.ask("Nome do recurso:", required: true) scope = prompt.select("Qual o escopo do recurso?") do || .choice "Admin - Área Administrativa", :admin .choice "User - Área do Usuário", :user end case type when :full_resource generate_full_resource(name, scope) when :api_only generate_api_resource(name, scope) when :frontend_only generate_frontend_resource(name, scope) end end |