Sha256: 1bba47daf5cf03f9858d9e2cb70402e3b37553eee442d2481dda7482b057c923

Contents?: true

Size: 1.37 KB

Versions: 18

Compression:

Stored size: 1.37 KB

Contents

module MobileWorkflow::Cli
  class HerokuBackend
    def initialize(app_name:)
      @heroku_app_name = app_name.gsub("_", "-")
    end
  
    def create
      heroku_command "heroku create #{@heroku_app_name}"
      heroku_command "git push --set-upstream heroku master"
    end
  
    def configure_activestorage
      heroku_command "heroku buildpacks:add -i 1 https://github.com/heroku/heroku-buildpack-activestorage-preview --app #{@heroku_app_name}"
      heroku_command "heroku labs:enable runtime-dyno-metadata --app #{@heroku_app_name}" # Gives access to heroku variables which can be used to construct URLs
    
      # Force recompile after buildpacks change
      heroku_command "git commit --allow-empty -m 'empty commit'"
      deploy    
    end
  
    def deploy
      heroku_command "git push"
    end
  
    def sync_dotenv
      env = File.read(".env").split.join(" ")
      puts "Setting env: #{env}"
      heroku_command "heroku config:set #{env} --app #{@heroku_app_name}"
    end
  
    def destroy
      heroku_command "heroku destroy #{@heroku_app_name} --confirm #{@heroku_app_name}"
    end
  
    def notifications_endpoint
      "https://#{@heroku_app_name}.herokuapp.com/sns_notifications"
    end
  
    private
    def heroku_command(command)
      puts "Running: #{command}"
      output = `#{command}`
      puts "Output: #{output}"
      return output
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
mobile_workflow-0.6.6 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.6.4 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.6.3 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.6.2 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.6.1 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.6.0 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.5.11 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.5.10 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.5.9 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.5.8 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.5.7 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.5.6 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.5.5 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.5.4 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.5.3 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.5.2 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.5.1 lib/mobile_workflow/cli/heroku_backend.rb
mobile_workflow-0.5.0 lib/mobile_workflow/cli/heroku_backend.rb