env_pull_request 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +4 -5
- data/README.md +43 -1
- data/Rakefile +9 -0
- data/changelog.md +6 -0
- data/lib/env_pull_request.rb +21 -0
- data/lib/env_pull_request/base.rb +28 -0
- data/lib/env_pull_request/test_helper.rb +42 -13
- data/lib/env_pull_request/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5807ca1bb427da826ceb8d1b9920af4e128c8e1d
|
4
|
+
data.tar.gz: 345f5a86fb03d556437b0a7d53d20e2aeac33720
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37b0bd753acd4d291f09ed669fab8beba83a1043492f1283d90beeba0990694cba4b0dbfaa253a29716c5783c1cd8f5211eebf4ff8fed3e015571ce62b85070b
|
7
|
+
data.tar.gz: d99ce49b2c00a4d73ec8b91f31739fc374831677ab64944d8c4eb86e462a356949c44383d0e9e64a39be2adec2bf195d143303845d27fab7aae76daadcbc0e5d
|
data/Gemfile
CHANGED
@@ -3,8 +3,7 @@ source 'https://rubygems.org'
|
|
3
3
|
# Specify your gem's dependencies in env_pull_request.gemspec
|
4
4
|
gemspec
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
end
|
6
|
+
gem 'rubocop'
|
7
|
+
gem 'byebug'
|
8
|
+
gem 'parse_gemspec-cli'
|
9
|
+
gem 'yard'
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# EnvPullRequest
|
2
2
|
|
3
|
-
[![Gem version][gem-image]][gem-url] [![Travis-CI Status][travis-image]][travis-url]
|
3
|
+
[![Gem version][gem-image]][gem-url] [![Travis-CI Status][travis-image]][travis-url] [![yard docs][docs-image]][docs-url]
|
4
4
|
|
5
5
|
> Get PULL_REQUEST_ID from environment variables.
|
6
6
|
|
@@ -15,9 +15,49 @@ env_pull.pull_request? #=> true
|
|
15
15
|
env_pull.pull_request_id #=> 800
|
16
16
|
```
|
17
17
|
|
18
|
+
### User defined block
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
require 'env_pull_request'
|
22
|
+
require 'natural_number_string'
|
23
|
+
|
24
|
+
env_pull =
|
25
|
+
EnvPullRequest.new do
|
26
|
+
if NaturalNumberString.positive_integer_string? ENV['PULL_REQUEST_ID']
|
27
|
+
ENV['PULL_REQUEST_ID'].to_i
|
28
|
+
end
|
29
|
+
end
|
30
|
+
env_pull.pull_request? #=> true
|
31
|
+
env_pull.pull_request_id #=> 800
|
32
|
+
```
|
33
|
+
|
18
34
|
|
19
35
|
## API
|
20
36
|
|
37
|
+
### EnvPullRequest.new -> Base
|
38
|
+
|
39
|
+
### EnvPullRequest.new(&block) -> Base
|
40
|
+
|
41
|
+
#### block
|
42
|
+
|
43
|
+
*optional*
|
44
|
+
|
45
|
+
Type: `block`
|
46
|
+
|
47
|
+
User defined block for getting `pull request id`.
|
48
|
+
|
49
|
+
|
50
|
+
### Base#pull_request_id -> Integer | nil
|
51
|
+
|
52
|
+
Return pull request id or nil.
|
53
|
+
|
54
|
+
|
55
|
+
### Base#pull_request? -> boolean
|
56
|
+
|
57
|
+
Return true if this is pull request.
|
58
|
+
|
59
|
+
And more *[details][docs-url]*.
|
60
|
+
|
21
61
|
|
22
62
|
## Supported services / applications
|
23
63
|
|
@@ -76,3 +116,5 @@ The gem is available as open source under the terms of the [MIT License](http://
|
|
76
116
|
[travis-image]: https://img.shields.io/travis/packsaddle/ruby-env_pull_request/master.svg?style=flat-square&label=build%20%28linux%29
|
77
117
|
[gem-url]: https://rubygems.org/gems/env_pull_request
|
78
118
|
[gem-image]: http://img.shields.io/gem/v/env_pull_request.svg?style=flat-square
|
119
|
+
[docs-url]: http://www.rubydoc.info/gems/env_pull_request
|
120
|
+
[docs-image]: https://img.shields.io/badge/yard-docs-blue.svg?style=flat-square
|
data/Rakefile
CHANGED
@@ -7,3 +7,12 @@ Rake::TestTask.new(:test) do |t|
|
|
7
7
|
end
|
8
8
|
|
9
9
|
task default: :test
|
10
|
+
|
11
|
+
require 'yard'
|
12
|
+
require 'yard/rake/yardoc_task'
|
13
|
+
DOC_FILES = ['lib/**/*.rb']
|
14
|
+
DOC_OPTIONS = ['--debug', '--verbose']
|
15
|
+
YARD::Rake::YardocTask.new(:doc) do |t|
|
16
|
+
t.files = DOC_FILES
|
17
|
+
t.options = DOC_OPTIONS if Rake.application.options.trace
|
18
|
+
end
|
data/changelog.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
<a name="0.3.2"></a>
|
2
|
+
## [0.3.2](https://github.com/packsaddle/ruby-env_pull_request/compare/v0.3.1...v0.3.2) (2015-09-27)
|
3
|
+
|
4
|
+
* Improve document.
|
5
|
+
|
6
|
+
|
1
7
|
<a name="0.3.1"></a>
|
2
8
|
## [0.3.1](https://github.com/packsaddle/ruby-env_pull_request/compare/v0.3.0...v0.3.1) (2015-09-26)
|
3
9
|
|
data/lib/env_pull_request.rb
CHANGED
@@ -3,7 +3,28 @@ require 'natural_number_string'
|
|
3
3
|
require 'env_pull_request/base'
|
4
4
|
require 'env_pull_request/version'
|
5
5
|
|
6
|
+
# Build pull request information from environment variables
|
6
7
|
module EnvPullRequest
|
8
|
+
# Build pull request information object from environment variables
|
9
|
+
#
|
10
|
+
# @overload self.new
|
11
|
+
# @example without user defined block
|
12
|
+
# env_pull = EnvPullRequest.new
|
13
|
+
#
|
14
|
+
# @return [Base] Pull request information object
|
15
|
+
#
|
16
|
+
# @overload self.new(&block)
|
17
|
+
# @example with user defined block
|
18
|
+
# env_pull =
|
19
|
+
# EnvPullRequest.new do
|
20
|
+
# if NaturalNumberString
|
21
|
+
# .positive_integer_string? ENV['PULL_REQUEST_ID']
|
22
|
+
# ENV['PULL_REQUEST_ID'].to_i
|
23
|
+
# end
|
24
|
+
# end
|
25
|
+
#
|
26
|
+
# @yield user defined block
|
27
|
+
# @return [Base] Pull request information object
|
7
28
|
def self.new(&block)
|
8
29
|
Base.new(&block)
|
9
30
|
end
|
@@ -1,8 +1,32 @@
|
|
1
1
|
module EnvPullRequest
|
2
|
+
# Pull request information object from environment variables
|
2
3
|
class Base
|
3
4
|
include NaturalNumberString
|
5
|
+
|
4
6
|
attr_reader :pull_request_id
|
7
|
+
# @!attribute [r] pull_request_id
|
8
|
+
# @return [Integer, nil] pull request id or nil
|
5
9
|
|
10
|
+
# Build pull request information object from environment variables
|
11
|
+
#
|
12
|
+
# @overload initialize
|
13
|
+
# @example without user defined block
|
14
|
+
# env_pull = EnvPullRequest::Base.new
|
15
|
+
#
|
16
|
+
# @return [Base] pull request information object
|
17
|
+
#
|
18
|
+
# @overload initialize(&block)
|
19
|
+
# @example with user defined block
|
20
|
+
# env_pull =
|
21
|
+
# EnvPullRequest::Base.new do
|
22
|
+
# if NaturalNumberString
|
23
|
+
# .positive_integer_string? ENV['PULL_REQUEST_ID']
|
24
|
+
# ENV['PULL_REQUEST_ID'].to_i
|
25
|
+
# end
|
26
|
+
# end
|
27
|
+
#
|
28
|
+
# @yield user defined block
|
29
|
+
# @return [Base] pull request information object
|
6
30
|
def initialize(&block)
|
7
31
|
@pull_request_id =
|
8
32
|
if block_given?
|
@@ -12,6 +36,9 @@ module EnvPullRequest
|
|
12
36
|
end
|
13
37
|
end
|
14
38
|
|
39
|
+
# Fetch pull request id from environment variables
|
40
|
+
#
|
41
|
+
# @return [Integer, nil] pull request id or nil
|
15
42
|
def fetch_pull_request_id
|
16
43
|
if positive_integer_string? ENV['TRAVIS_PULL_REQUEST']
|
17
44
|
ENV['TRAVIS_PULL_REQUEST'].to_i
|
@@ -22,6 +49,7 @@ module EnvPullRequest
|
|
22
49
|
end
|
23
50
|
end
|
24
51
|
|
52
|
+
# @return [Boolean] true if this is pull request
|
25
53
|
def pull_request?
|
26
54
|
!pull_request_id.nil?
|
27
55
|
end
|
@@ -1,18 +1,47 @@
|
|
1
1
|
module EnvPullRequest
|
2
|
+
# Test helper for pull request with environment variables
|
2
3
|
module TestHelper
|
3
|
-
|
4
|
-
@original_travis_pull_request = ENV['TRAVIS_PULL_REQUEST']
|
5
|
-
@original_circle_pr_number = ENV['CIRCLE_PR_NUMBER']
|
6
|
-
@original_ghprb_pull_id = ENV['ghprbPullId']
|
7
|
-
ENV.delete 'TRAVIS_PULL_REQUEST'
|
8
|
-
ENV.delete 'CIRCLE_PR_NUMBER'
|
9
|
-
ENV.delete 'ghprbPullId'
|
10
|
-
end
|
4
|
+
module_function
|
11
5
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
6
|
+
# Stash original environment variables for pull request.
|
7
|
+
# And delete for testing.
|
8
|
+
#
|
9
|
+
# @example with test-unit
|
10
|
+
# class TestExample < Test::Unit::TestCase
|
11
|
+
# extend TestHelper
|
12
|
+
#
|
13
|
+
# def self.startup
|
14
|
+
# stash_env_pull_request
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
#
|
18
|
+
# @return [void]
|
19
|
+
def stash_env_pull_request
|
20
|
+
# NOTE: stash and restore only if exists
|
21
|
+
@original_travis_pull_request = ENV['TRAVIS_PULL_REQUEST']
|
22
|
+
@original_circle_pr_number = ENV['CIRCLE_PR_NUMBER']
|
23
|
+
@original_ghprb_pull_id = ENV['ghprbPullId']
|
24
|
+
ENV.delete 'TRAVIS_PULL_REQUEST'
|
25
|
+
ENV.delete 'CIRCLE_PR_NUMBER'
|
26
|
+
ENV.delete 'ghprbPullId'
|
27
|
+
end
|
28
|
+
|
29
|
+
# Restore original environment variables for pull request.
|
30
|
+
#
|
31
|
+
# @example with test-unit
|
32
|
+
# class TestExample < Test::Unit::TestCase
|
33
|
+
# extend TestHelper
|
34
|
+
#
|
35
|
+
# def self.shutdown
|
36
|
+
# restore_env_pull_request
|
37
|
+
# end
|
38
|
+
# end
|
39
|
+
#
|
40
|
+
# @return [void]
|
41
|
+
def restore_env_pull_request
|
42
|
+
ENV['TRAVIS_PULL_REQUEST'] = @original_travis_pull_request
|
43
|
+
ENV['CIRCLE_PR_NUMBER'] = @original_circle_pr_number
|
44
|
+
ENV['ghprbPullId'] = @original_ghprb_pull_id
|
45
|
+
end
|
17
46
|
end
|
18
47
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: env_pull_request
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sanemat
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: natural_number_string
|
@@ -120,3 +120,4 @@ signing_key:
|
|
120
120
|
specification_version: 4
|
121
121
|
summary: Get PULL_REQUEST_ID from environment variables.
|
122
122
|
test_files: []
|
123
|
+
has_rdoc:
|