Sha256: de70aa811b16496036a55d37e8d91b0e21f50e7c526a12e1286518c12a073eb2

Contents?: true

Size: 845 Bytes

Versions: 1

Compression:

Stored size: 845 Bytes

Contents

# coding: utf-8

module Status
  module Github
    class Statuses
      def initialize(qa_status="pending")
        @qa_status = qa_status
      end

      def request
        Request.new.post(status_api, payload)
      end

      private

      def status_api
        "/repos/#{Status.owner}/#{Status.repo}/statuses/" + Status.sha + "?access_token=" + Status.token
      end

      def description
        "Build status: #{Jenkins.state}, QA #{@qa_status}"
      end

      def payload
        {:state => state, :description => description, :target_url => target_url}
      end

      def target_url
        "#{Status.ci_url}/job/#{Status.branch}"
      end

      def state
        (Jenkins.pass? && @qa_status == "pass") ? states[3] : states[2]
      end

      def states
        %w(error failure pending success)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
update_status-0.1.2 lib/status/github/statuses.rb