Class: Initial::CapistranoGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/initial/capistrano.rb

Instance Method Summary collapse

Instance Method Details

#addObject



5
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
# File 'lib/generators/initial/capistrano.rb', line 5

def add
  gem_group :development do
    gem 'capistrano'
    gem 'capistrano-rbenv'
    gem 'capistrano-bundler'
    gem 'capistrano-rails'
    gem 'capistrano-sidekiq' , github: 'seuros/capistrano-sidekiq'
    gem 'capistrano3-puma'
  end

  Bundler.with_clean_env do
    run "bundle install"
  end

  directory 'capistrano/tasks', 'lib/capistrano/tasks'
  directory 'capistrano/shared', 'config/deploy/shared'

  run 'cap install'

  uncomment_lines 'Capfile', /require 'capistrano\/rbenv'/
  uncomment_lines 'Capfile', /require 'capistrano\/bundler'/
  uncomment_lines 'Capfile', /require 'capistrano\/rails\/assets'/
  uncomment_lines 'Capfile', /require 'capistrano\/rails\/migrations'/
  insert_into_file "Capfile", "require 'capistrano/sidekiq'\n",
                   after: "require 'capistrano/rails/migrations'\n"
  insert_into_file "Capfile", "require 'capistrano/sidekiq'\n",
                   after: "require 'capistrano/puma'\n"
  insert_into_file "Capfile", "require 'capistrano/sidekiq'\n",
                   after: "require 'capistrano/puma/monit'\n"

  copy_file 'capistrano/deploy/deploy.rb', 'config/deploy.rb'
  copy_file 'capistrano/deploy/production.rb', 'config/deploy/production.rb'

end