Sha256: 29ac95192b50796a4cd7826470281d09c5bb509252ab922d453e7230f6f2f9c1

Contents?: true

Size: 634 Bytes

Versions: 2

Compression:

Stored size: 634 Bytes

Contents

class Fourchette::PullRequest
  include SuckerPunch::Job

  def perform(params)
    return if qa_skip?(params)

    callbacks = Fourchette::Callbacks.new(params)
    fork = Fourchette::Fork.new(params)

    callbacks.before_all

    case params['action']
    when 'synchronize' # new push against the PR (updating code, basically)
      fork.update
    when 'closed'
      fork.delete
    when 'reopened'
      fork.create
    when 'opened'
      fork.create
    end

    callbacks.after_all
  end

  private

  def qa_skip?(params)
    pr_title = params['pull_request']['title']
    pr_title.downcase.include?('[qa skip]')
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fourchette-0.1.4 lib/fourchette/pull_request.rb
fourchette-0.1.3 lib/fourchette/pull_request.rb