Sha256: 52221cd6416a90d2cb67456ac7aea8b2348f511e5ac3d4a37dc8adb11b859ca2

Contents?: true

Size: 609 Bytes

Versions: 3

Compression:

Stored size: 609 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
    params['pull_request']['title'].downcase.include?('[qa skip]')
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fourchette-0.1.2 lib/fourchette/pull_request.rb
fourchette-0.1.1 lib/fourchette/pull_request.rb
fourchette-0.1.0 lib/fourchette/pull_request.rb