Class: GrapeCli

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/grape/cli/new.rb,
lib/grape/cli/server.rb,
lib/grape/cli/console.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



12
13
14
# File 'lib/grape/cli/new.rb', line 12

def self.source_root
  File.dirname(__FILE__)
end

Instance Method Details

#consoleObject



8
9
10
11
12
# File 'lib/grape/cli/console.rb', line 8

def console
  puts 'Starting Grape console...'

  run(ApplicationFactory.instance.command_generator.run_console, verbose: false)
end

#new(app_name) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/grape/cli/new.rb', line 16

def new(app_name)
  template_path = File.join(GrapeCli.source_root, 'template')
  application_template_path = File.join(template_path, 'application')
  destination_path = File.join(options[:work_dir], app_name)
  config = create_config(app_name)

  directory(application_template_path, destination_path, config)
  template(File.join(template_path, 'database', "#{options[:database]}.yml.tt"),
           File.join(destination_path, 'config', 'database.yml'), config)
  inside destination_path do
    run(ApplicationFactory.instance.command_generator.bundle_install, config)
  end
end

#serverObject



8
9
10
11
12
# File 'lib/grape/cli/server.rb', line 8

def server
  puts 'Starting Grape server...'

  run(ApplicationFactory.instance.command_generator.run_server, verbose: false)
end