class Shopapp::DeployGenerator

Public Instance Methods

app_code() click to toggle source
# File lib/generators/shopapp/deploy/deploy_generator.rb, line 7
def app_code
  (Rails.configuration.settings['shopapp_name'] ||
    Rails.application.class.parent_name).to_s.downcase.parameterize.underscore
end
create_capfile() click to toggle source
# File lib/generators/shopapp/deploy/deploy_generator.rb, line 12
  def create_capfile
    create_file "Capfile", <<~FILECONTENT
      require "capistrano/setup"
      require "capistrano/deploy"

      require "capistrano/scm/git"
      install_plugin Capistrano::SCM::Git

      require 'capistrano/rvm'
      require "capistrano/bundler"
      require "capistrano/rails/assets"
      require "capistrano/rails/migrations"
      require "capistrano/passenger"
      # require "capistrano/yarn"

      Dir.glob("lib/capistrano/tasks/*.rake").each { |r| import r }
    FILECONTENT
  end
create_config_deploy_production_rb() click to toggle source
# File lib/generators/shopapp/deploy/deploy_generator.rb, line 45
  def create_config_deploy_production_rb
    create_file "config/deploy/production.rb", <<~FILECONTENT
      set :stage, :production
      set :rails_env, :production
      set :branch, "master"

      server "#{app_code}.shoplift.fi", user: "#{app_code}", roles: %w{app db web}
    FILECONTENT
  end
create_config_deploy_rb() click to toggle source
# File lib/generators/shopapp/deploy/deploy_generator.rb, line 31
  def create_config_deploy_rb
    create_file "config/deploy.rb", <<~FILECONTENT
      lock "~> 3.11.0"

      set :application, "Prolift"
      set :repo_url, "git@github.com:shoplift/#{app_code}.git"
      set :rvm_ruby_version, '2.5.1'
      append :linked_files, 'config/local.yml'

      set :deploy_to, "/home/shoplift/#{app_code}"
      set :passenger_restart_with_touch, true
    FILECONTENT
  end