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 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: