Sha256: 4781cf8512e17271a38113e3f92e13f9b8c7181c927cf4575d2c0347dbd167cb

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

class DeploysController < ApplicationController
  include AnsiHelper
  skip_before_filter :verify_authenticity_token
  
  
  def create
    @project = Project.find_by_slug(params[:project_id])
    unless @project
      render text: "A project with the slug '#{params[:project_id]}' could not be found", status: 404
      return
    end
    
    @environment = params.fetch(:environment, "").downcase
    
    sha = params[:commit] || params[:head_long] || params[:head]
    branch = params[:branch]
    deployer = params[:deployer] || params[:user]
    milliseconds = params[:duration]
    
    Deploy.create!(
      project: @project,
      environment_name: @environment,
      sha: sha,
      branch: branch,
      deployer: deployer,
      duration: milliseconds,
      completed_at: Time.now)
    
    head 200
  end
  
  
  def show
    @project = Project.find_by_slug! params[:project_id]
    @deploy = @project.deploys.find params[:id]
    
    if request.format.json?
      render json: { completed: @deploy.completed?, output: ansi_to_html(@deploy.output) }
    end
  end
  
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
houston-core-0.5.0.beta1 app/controllers/deploys_controller.rb