pr_log 0.2.0 → 0.3.0

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