pr_log 0.2.0 → 0.3.0

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
  SHA256:
3
- metadata.gz: 85db01391c633f797a1cedb672d6c8de96f090d5e80f0094b4726da3b039c762
4
- data.tar.gz: ff244b52893fb6cc4fe200821694d728dccdaa61db9b2e5daee8cfb98772fa0a
3
+ metadata.gz: 6817152eeb14c769cf1b30b0c8954b809d432c73a53070bc157a0e1184f18173
4
+ data.tar.gz: 7d39cc008614b0cb8dedf721420787836cea8bfd79c19fcdc570f718ac872895
5
5
  SHA512:
6
- metadata.gz: 58c7bee69600bbecac3139e97682db468839a35eda82200318385b965b5407218546e51f49341af2ca1afd6adc5884e68de1d5ccaef7eb39158ceef1c7ad1b07
7
- data.tar.gz: 6ca56166952f9a3803356b1ae10abcb9cf5f360e666408b6ed5c6fb59f1c2841d55230a067f11f5b56d016bede66b0b0e7b3885a78eb9af584846b08a0c2d880
6
+ metadata.gz: ccb169322a27f7d49fd256a58dd5cad950a425acc93dca6cb24d4232d1be3be86dbba865abd37ae125b6a45d98a609160e8fb08cda169a8b200eedf52cd63dde
7
+ data.tar.gz: c041b94a06bc647be425506a0bd74a81d7e1bd1b91ef3559d8c919c130033649114f10e67b2812168c00d1c7e6774203cf0f314c41acfdce60bd5164084bfc08
data/.travis.yml CHANGED
@@ -8,8 +8,6 @@ rvm:
8
8
  sudo: false
9
9
  cache: bundler
10
10
 
11
- before_install: gem install bundler -v 1.10.5
12
-
13
11
  before_script:
14
12
  - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
15
13
  - chmod +x ./cc-test-reporter
@@ -21,4 +19,3 @@ after_script:
21
19
  env:
22
20
  global:
23
21
  - PR_LOG_FIXTURE_OAUTH_TOKEN=8909728af9171b43308994050f0c6f57994ace5f
24
-
data/CHANGELOG.md CHANGED
@@ -1,27 +1,16 @@
1
1
  # CHANGELOG
2
2
 
3
- ### Version 0.2.0
3
+ ### Version 0.3.0
4
4
 
5
- 2018-03-05
5
+ 2023-07-10
6
6
 
7
- [Compare changes](https://github.com/tf/pr_log/compare/0-1-stable...v0.2.0)
7
+ [Compare changes](https://github.com/tf/pr_log/compare/0-2-stable...v0.3.0)
8
8
 
9
- - Stop capitalizing title
10
- ([#5](https://github.com/tf/pr_log/pull/5))
9
+ - Add support for nested fields in `entry_template`
10
+ ([#11](https://github.com/tf/pr_log/pull/11))
11
+ - Allow Bundler 2 as development dependency
12
+ ([#9](https://github.com/tf/pr_log/pull/9))
11
13
 
12
- Internal:
13
-
14
- - Install semmy release tasks
15
- ([#8](https://github.com/tf/pr_log/pull/8))
16
- - Update Rubocop
17
- ([#7](https://github.com/tf/pr_log/pull/7))
18
- - Fix Travis build
19
- ([#6](https://github.com/tf/pr_log/pull/6))
20
- - Setup rubocop and hound.
21
- ([#1](https://github.com/tf/pr_log/pull/1))
22
-
23
- ## Version 0.1.0
24
-
25
- 2015-07-28
26
-
27
- - Initial release.
14
+ See
15
+ [0-2-stable branch](https://github.com/tf/pr_log/blob/0-2-stable/CHANGELOG.md)
16
+ for previous changes.
data/README.md CHANGED
@@ -93,6 +93,7 @@ The following configuration options are available:
93
93
  entries. All fields from the
94
94
  [issue search response](https://developer.github.com/v3/search/#search-issues)
95
95
  can be used as interpolations.
96
+ Default value: `- %{title} ([#%{number}](%{html_url}))`. Use `.` for nested fields (e.g. `%{user.login}`).
96
97
 
97
98
  - `github_repository`: Name of the GitHub repository of the form
98
99
  `user/repository`.
@@ -125,6 +126,7 @@ with the label `bug`, add the following lines to your configuration file:
125
126
  After checking out the repo, run `bin/setup` to install
126
127
  dependencies. You can also run `bin/console` for an interactive prompt
127
128
  that will allow you to experiment.
129
+ You can then use `rake install` to install the gem locally.
128
130
 
129
131
  ### Running the Test Suite
130
132
 
data/lib/pr_log/errors.rb CHANGED
@@ -22,4 +22,7 @@ module PrLog
22
22
 
23
23
  class GithubRepositoryNotFound < Error
24
24
  end
25
+
26
+ class InvalidInterpolation < Error
27
+ end
25
28
  end
@@ -7,12 +7,27 @@ module PrLog
7
7
  return '' if pull_requests.empty?
8
8
 
9
9
  pull_requests.map { |pull_request|
10
- entry_template % entry_template_data(pull_request)
10
+ apply_template(entry_template, entry_template_data(pull_request))
11
11
  }.join.prepend("\n")
12
12
  end
13
13
 
14
14
  private
15
15
 
16
+ def apply_template(template, template_data)
17
+ template.scan(/(?<=%{)[^}]*(?=})/).inject(template) do |result, match|
18
+ keys = match.split('.').map(&:to_sym)
19
+
20
+ begin
21
+ value = template_data.dig(*keys)
22
+ rescue StandardError
23
+ raise(InvalidInterpolation,
24
+ "%{#{match}} is not a valid interpolation pattern")
25
+ end
26
+
27
+ result.sub(/%{[^}]*}/, value.to_s)
28
+ end
29
+ end
30
+
16
31
  def entry_template_data(pull_request)
17
32
  pull_request.merge(title: prefixed_title(pull_request))
18
33
  end
@@ -1,3 +1,3 @@
1
1
  module PrLog
2
- VERSION = '0.2.0'.freeze
2
+ VERSION = '0.3.0'.freeze
3
3
  end
data/pr_log.gemspec CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.add_dependency 'thor', '~> 0.19'
26
26
  spec.add_dependency 'virtus', '~> 1.0'
27
27
 
28
- spec.add_development_dependency 'bundler', '~> 1.10'
28
+ spec.add_development_dependency 'bundler', ['>= 1.10', '< 3']
29
29
  spec.add_development_dependency 'rake', '~> 10.0'
30
30
  spec.add_development_dependency 'rspec', '~> 3.0'
31
31
  spec.add_development_dependency 'rubocop', '~> 0.53.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pr_log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Fischbach
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-05 00:00:00.000000000 Z
11
+ date: 2023-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: attr_extras
@@ -84,16 +84,22 @@ dependencies:
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '1.10'
90
+ - - "<"
91
+ - !ruby/object:Gem::Version
92
+ version: '3'
90
93
  type: :development
91
94
  prerelease: false
92
95
  version_requirements: !ruby/object:Gem::Requirement
93
96
  requirements:
94
- - - "~>"
97
+ - - ">="
95
98
  - !ruby/object:Gem::Version
96
99
  version: '1.10'
100
+ - - "<"
101
+ - !ruby/object:Gem::Version
102
+ version: '3'
97
103
  - !ruby/object:Gem::Dependency
98
104
  name: rake
99
105
  requirement: !ruby/object:Gem::Requirement
@@ -262,8 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
262
268
  - !ruby/object:Gem::Version
263
269
  version: '0'
264
270
  requirements: []
265
- rubyforge_project:
266
- rubygems_version: 2.7.5
271
+ rubygems_version: 3.2.3
267
272
  signing_key:
268
273
  specification_version: 4
269
274
  summary: Turn GitHub pull requests into changelog entries