Sha256: a66603bc7b220b870ad5b4afd050b570b8bc1ab822a9ab8bb5847e841cd81d29

Contents?: true

Size: 1 KB

Versions: 8

Compression:

Stored size: 1 KB

Contents

# coding: utf-8

module Status
  module Github
    class PullRequest
      def pull_request_found?
        !get_pull_request.select {|pull| pull["head"]["ref"] == Status.branch}.empty?
      end

      def create_pull_request
        puts "no pull request found create one? (y/n)"
        answer = gets
        answer.chomp.downcase == "y" ? new_pull_request : abort("exit")
      end

      def new_pull_request
        response = post_pull_request
        puts response == "not found" ? response : response["url"]
      end

      def payload
        puts "enter a description"
        body = gets

        {:title => Status.title, :body => body, :base => "master", :head => Status.branch }
      end

      def get_pull_request
        Status::Request.new.get(pull_request_api)
      end

      def post_pull_request
        Status::Request.new.post(pull_request_api, payload)
      end

      def pull_request_api
        "/repos/#{Status.owner}/#{Status.repo}/pulls?access_token=#{Status.token}"
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
update_status-0.1.7 lib/status/github/pull_request.rb
update_status-0.1.6 lib/status/github/pull_request.rb
update_status-0.1.5 lib/status/github/pull_request.rb
update_status-0.1.4 lib/status/github/pull_request.rb
update_status-0.1.3 lib/status/github/pull_request.rb
update_status-0.1.2 lib/status/github/pull_request.rb
update_status-0.1.1 lib/status/github/pull_request.rb
update_status-0.1.0 lib/status/github/pull_request.rb