Class: EnvPullRequest::Base

Inherits:
Object
  • Object
show all
Includes:
NaturalNumberString
Defined in:
lib/env_pull_request/base.rb

Overview

Pull request information object from environment variables

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeBase #initialize { ... } ⇒ Base

Build pull request information object from environment variables

Overloads:

  • #initializeBase

    Returns pull request information object.

    Examples:

    without user defined block

    env_pull = EnvPullRequest::Base.new
  • #initialize { ... } ⇒ Base

    Returns pull request information object.

    Examples:

    with user defined block

    env_pull =
      EnvPullRequest::Base.new do
        if NaturalNumberString
             .positive_integer_string? ENV['PULL_REQUEST_ID']
          ENV['PULL_REQUEST_ID'].to_i
        end
      end

    Yields:

    • user defined block



30
31
32
33
34
35
36
37
# File 'lib/env_pull_request/base.rb', line 30

def initialize
  @pull_request_id =
    if block_given?
      yield || fetch_pull_request_id
    else
      fetch_pull_request_id
    end
end

Instance Attribute Details

#pull_request_idInteger? (readonly)

Returns pull request id or nil.

Returns:

  • (Integer, nil)

    pull request id or nil



7
8
9
# File 'lib/env_pull_request/base.rb', line 7

def pull_request_id
  @pull_request_id
end

Instance Method Details

#fetch_pull_request_idInteger?

Fetch pull request id from environment variables

travis-ci.org:

ENV['TRAVIS_PULL_REQUEST']

circleci.com:

ENV['CIRCLE_PR_NUMBER']

bitrise.io:

ENV['BITRISE_PULL_REQUEST']

Jenkins GitHub pull request builder plugin:

ENV['ghprbPullId']


63
64
65
66
67
68
69
70
71
72
73
# File 'lib/env_pull_request/base.rb', line 63

def fetch_pull_request_id
  if positive_integer_string? ENV['TRAVIS_PULL_REQUEST']
    ENV['TRAVIS_PULL_REQUEST'].to_i
  elsif positive_integer_string? ENV['CIRCLE_PR_NUMBER']
    ENV['CIRCLE_PR_NUMBER'].to_i
  elsif positive_integer_string? ENV['BITRISE_PULL_REQUEST']
    ENV['BITRISE_PULL_REQUEST'].to_i
  elsif positive_integer_string? ENV['ghprbPullId']
    ENV['ghprbPullId'].to_i
  end
end

#pull_request?Boolean

Returns true if this is pull request.

Returns:

  • (Boolean)

    true if this is pull request



76
77
78
# File 'lib/env_pull_request/base.rb', line 76

def pull_request?
  !pull_request_id.nil?
end