class Rockstart::DeploymentGenerator

Public Instance Methods

add_rack_deflater() click to toggle source
# File lib/generators/rockstart/deployment/deployment_generator.rb, line 39
  def add_rack_deflater
    application do
      <<~RACK_DEFLATER
        if ENV["RAILS_SERVE_STATIC_FILES"].present?
          config.middleware.insert_after ActionDispatch::Static, Rack::Deflater
          config.static_cache_control = "public, max-age=\#{2.days.to_i}"
        else
          config.middleware.insert_after Rack::Sendfile, Rack::Deflater
        end
      RACK_DEFLATER
    end
  end
add_rack_deflater_spec() click to toggle source
# File lib/generators/rockstart/deployment/deployment_generator.rb, line 52
def add_rack_deflater_spec
  copy_file "rack_deflater_spec.rb", "spec/requests/rack_deflater_spec.rb"
end
configure_environment() click to toggle source
# File lib/generators/rockstart/deployment/deployment_generator.rb, line 20
  def configure_environment
    application(nil, env: :production) do
      <<~APP_HOST
        config.action_controller.default_url_options = { host: ENV["APP_HOST"] }
        config.action_controller.asset_host = ENV.fetch("ASSET_HOST") { ENV["APP_HOST"] }
      APP_HOST
    end
  end
create_deployment_scripts() click to toggle source
# File lib/generators/rockstart/deployment/deployment_generator.rb, line 34
def create_deployment_scripts
  script_template "hooks-postdeploy"
  script_template "hooks-release"
end
create_run_scripts() click to toggle source
# File lib/generators/rockstart/deployment/deployment_generator.rb, line 29
def create_run_scripts
  script_template "web"
  script_template "worker" if sidekiq?
end
generate_docker() click to toggle source
# File lib/generators/rockstart/deployment/deployment_generator.rb, line 69
def generate_docker
  generate "rockstart:deployment:docker",
           devise_option,
           frontend_option,
           memcached_option,
           postgres_option,
           rollbar_option,
           sidekiq_option
end
generate_heroku() click to toggle source
# File lib/generators/rockstart/deployment/deployment_generator.rb, line 60
def generate_heroku
  generate "rockstart:deployment:heroku",
           auth0_option,
           memcached_option,
           postgres_option,
           rollbar_option,
           sidekiq_option
end
generate_nginx() click to toggle source
# File lib/generators/rockstart/deployment/deployment_generator.rb, line 56
def generate_nginx
  generate "rockstart:deployment:nginx"
end