env_pull_request 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2ba38643c766d13bd2fb05c8d7d482fb59836a43
4
- data.tar.gz: 35d3e3cae056c0ead8c2b311e590f85cc5154912
3
+ metadata.gz: 5807ca1bb427da826ceb8d1b9920af4e128c8e1d
4
+ data.tar.gz: 345f5a86fb03d556437b0a7d53d20e2aeac33720
5
5
  SHA512:
6
- metadata.gz: f5402e2bf90a50fd71f4c70cc1ba9eb2e7207c01bf45dc5ebad53dd6ebdde73342d5c19476618b5d2eff27d24a54fac1cfa63946d425c278f1d605f5c3eac473
7
- data.tar.gz: 50338038c118c3e26b036ddf056a802c760de30de82199f22a6aaee2dfd4799661354dd3069cd76b7a1a5ea73d41e2b9dc507cdf9ab0eb5b67ec3a545e82a30c
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
- group :development do
7
- gem 'rubocop', group: :test
8
- gem 'byebug', group: :test
9
- gem 'parse_gemspec-cli'
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
 
@@ -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
- def stash_env_pull_request
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
- def restore_env_pull_request
13
- ENV['TRAVIS_PULL_REQUEST'] = @original_travis_pull_request
14
- ENV['CIRCLE_PR_NUMBER'] = @original_circle_pr_number
15
- ENV['ghprbPullId'] = @original_ghprb_pull_id
16
- end
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
@@ -1,3 +1,3 @@
1
1
  module EnvPullRequest
2
- VERSION = '0.3.1'
2
+ VERSION = '0.3.2'
3
3
  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.1
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-26 00:00:00.000000000 Z
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: