lock_diff 0.3.7 → 0.5.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
- SHA1:
3
- metadata.gz: 4bd53748cc250bef15eff5a49da0a505faa84d24
4
- data.tar.gz: 528f3e74318971a0d942539964ab4b8c90796e1a
2
+ SHA256:
3
+ metadata.gz: b72b0103bb0456640f9f87ce36c6aab414b9448d7f362e931a43b32968975fe7
4
+ data.tar.gz: bc757035ce6f1abb73351ffe667903f6d07c7cd61197e307db410412060f8b23
5
5
  SHA512:
6
- metadata.gz: 4d91859144482b359679a161f24d1f98b3ee83c259a7344d73df64175b12023104dff90257bac38f4c88a31a1e222ae403e87eed70b74a12bd5ac82f9f29c119
7
- data.tar.gz: 0c0b50ccd947fca8f228f0e67da4896dbc5c0c73a1062edc7775805e46e261a67b6c2f44ec1dc3e49268450db6d3222907cbb6a15a93c682ae00002c31b43901
6
+ metadata.gz: 03d27cc09817e1695418a4acb7efab5cddd6208a7a73362237292dd827b2507397251ef2d78331bd40db6bbf16a052549476eb2577a7ba12c9ab1351941bbe10
7
+ data.tar.gz: bce05c0eb4ce1df1595cd0e7c88111c9c25b0412a84ca769ac3f5997c451a6abbaa1a50ac29c25424f66c420249cbcb83fbea69adf06fed7c3c550d818067739
@@ -1,7 +1,9 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.3.4
4
- - 2.4.1
3
+ - 2.4
4
+ - 2.5
5
+ - 2.6
6
+ - 2.7
5
7
  script:
6
8
  - bundle exec rspec
7
9
  notifications:
data/README.md CHANGED
@@ -1,13 +1,9 @@
1
1
  # LockDiff
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/lock_diff.svg)](https://badge.fury.io/rb/lock_diff)
4
- [![GitHub tag](https://img.shields.io/github/tag/vividmuimui/lock_diff.svg)](https://github.com/vividmuimui/lock_diff/tags)
5
4
  [![Build Status](https://travis-ci.org/vividmuimui/lock_diff.svg?branch=master)](https://travis-ci.org/vividmuimui/lock_diff)
6
5
  [![Codacy Badge](https://api.codacy.com/project/badge/Grade/d05b439bc5064e30ad84ecfa8e57b448)](https://www.codacy.com/app/vividmuimui/lock_diff?utm_source=github.com&utm_medium=referral&utm_content=vividmuimui/lock_diff&utm_campaign=badger)
7
- [![Dependency Status](https://gemnasium.com/badges/github.com/vividmuimui/lock_diff.svg)](https://gemnasium.com/github.com/vividmuimui/lock_diff)
8
6
  [![Code Climate](https://codeclimate.com/github/vividmuimui/lock_diff/badges/gpa.svg)](https://codeclimate.com/github/vividmuimui/lock_diff)
9
- [![Issue Count](https://codeclimate.com/github/vividmuimui/lock_diff/badges/issue_count.svg)](https://codeclimate.com/github/vividmuimui/lock_diff)
10
- [![ghit.me](https://ghit.me/badge.svg?repo=vividmuimui/lock_diff)](https://ghit.me/repo/vividmuimui/lock_diff)
11
7
 
12
8
  This gem detects changes to your package manager (e.g. Gemfile) and generates a Markdown-formatted diff including:
13
9
 
@@ -109,7 +105,7 @@ TODO:
109
105
 
110
106
  ## Contributing
111
107
 
112
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/lock_diff. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
108
+ Bug reports and pull requests are welcome on GitHub at https://github.com/vividmuimui/lock_diff. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
113
109
 
114
110
  ## License
115
111
 
@@ -117,7 +113,7 @@ The gem is available as open source under the terms of the [MIT License](http://
117
113
 
118
114
  ### Original
119
115
 
120
- Most source code in this pepository is by https://github.com/kyanny/compare_linker .
116
+ Most of the source code in this repository is by https://github.com/kyanny/compare_linker.
121
117
 
122
118
  ```
123
119
  Copyright (c) 2014 Kensuke Nagae
@@ -147,4 +143,4 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
147
143
 
148
144
  ## Code of Conduct
149
145
 
150
- Everyone interacting in the LockDiff project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/lock_diff/blob/master/CODE_OF_CONDUCT.md).
146
+ Everyone interacting in the LockDiff project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/vividmuimui/lock_diff/blob/master/CODE_OF_CONDUCT.md).
@@ -1,6 +1,7 @@
1
1
  require "logger"
2
2
  require "forwardable"
3
3
 
4
+ require "lock_diff/changelog"
4
5
  require "lock_diff/diff_info"
5
6
  require "lock_diff/formatter/github_markdown"
6
7
  require "lock_diff/gem"
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LockDiff
4
+ class Changelog
5
+ attr_reader :url
6
+
7
+ def initialize(url)
8
+ @url = url
9
+ end
10
+
11
+ def name
12
+ File.basename(@url)
13
+ end
14
+ end
15
+ end
@@ -57,28 +57,18 @@ module LockDiff
57
57
  end
58
58
  end
59
59
 
60
- def changelog_url
61
- @changelog_url ||= begin
62
- ref =
63
- case status
64
- when UPGRADE, NEW
65
- @new_package.ref
66
- when DOWNGRADE, DELETE
67
- nil # default branch(master)
68
- end
60
+ def changelogs
61
+ return nil if [DOWNGRADE, DELETE].include?(status)
69
62
 
70
- Github::ChangelogUrlFinder.new(
71
- repository: package.repository,
72
- repository_url: package.repository_url,
73
- ref: ref
74
- ).call
63
+ Github::ChangelogUrlFinder.new(
64
+ repository: package.repository,
65
+ repository_url: package.repository_url,
66
+ ref: @new_package.ref
67
+ ).call.map do |url|
68
+ Changelog.new(url)
75
69
  end
76
70
  end
77
71
 
78
- def changelog_name
79
- File.basename(changelog_url)
80
- end
81
-
82
72
  def commits_url
83
73
  return unless package.repository_url
84
74
  old_ref = @old_package.ref
@@ -41,7 +41,7 @@ module LockDiff
41
41
  text << repository
42
42
  text << status
43
43
  text << commits_text
44
- text << changelog
44
+ text << changelogs
45
45
  "| #{text.join(' | ')} |"
46
46
  end
47
47
 
@@ -77,15 +77,16 @@ module LockDiff
77
77
  end
78
78
  end
79
79
 
80
- def changelog
81
- if diff_info.changelog_url
82
- "[#{diff_info.changelog_name}](#{diff_info.changelog_url})"
80
+ def changelogs
81
+ if diff_info.changelogs
82
+ diff_info.changelogs.map do |changelog|
83
+ "[#{changelog.name}](#{changelog.url})"
84
+ end.join(" ")
83
85
  else
84
86
  ""
85
87
  end
86
88
  end
87
89
  end
88
-
89
90
  end
90
91
  end
91
92
  end
@@ -17,18 +17,18 @@ module LockDiff
17
17
  end
18
18
 
19
19
  def call
20
- find_change_log_url || find_release_url
20
+ change_log_urls.push(find_release_url).compact
21
21
  end
22
22
 
23
23
  private
24
24
 
25
- def find_change_log_url
25
+ def change_log_urls
26
26
  Github.client.contents(@repository, ref: @ref).
27
27
  select(&:file?).
28
- find { |content|
28
+ select do |content|
29
29
  name = content.name.downcase.delete('_')
30
30
  CHANGE_LOG_CANDIDATES.any? { |candidate| name.start_with? candidate }
31
- }&.html_url
31
+ end&.map(&:html_url)
32
32
  end
33
33
 
34
34
  def find_release_url
@@ -1,7 +1,7 @@
1
1
  module LockDiff
2
2
  module Github
3
3
  class RepositoryNameDetector
4
- REGEXP = %r!github\.com[/:](.*?)(?:.git)?\z!
4
+ REGEXP = %r!github\.com[/:](.*?)(?:\.git)?\z!
5
5
 
6
6
  def initialize(url)
7
7
  @url = url
@@ -9,7 +9,7 @@ module LockDiff
9
9
 
10
10
  def call
11
11
  return unless @url
12
- path = @url.match(REGEXP).to_a.last
12
+ path = @url.match(REGEXP).to_a.last&.split('#')&.first
13
13
  return unless path
14
14
  repository_name = path.split("/").first(2).join("/")
15
15
  repository_name if repository_name.match?(/.+\/.+/)
@@ -13,8 +13,10 @@ module LockDiff
13
13
  end
14
14
 
15
15
  def latest_by_tachikoma(repository)
16
- client.newer_pull_requests(repository).
17
- find { |pull_request| pull_request.head_ref.include?("tachikoma") }
16
+ client.newer_pull_requests(repository).find do |pull_request|
17
+ branch = pull_request.head_ref
18
+ branch.include?("tachikoma") || branch.include?("bundle-update")
19
+ end
18
20
  end
19
21
 
20
22
  private
@@ -1,3 +1,3 @@
1
1
  module LockDiff
2
- VERSION = "0.3.7"
2
+ VERSION = "0.5.0"
3
3
  end
@@ -21,13 +21,13 @@ Gem::Specification.new do |spec|
21
21
  spec.bindir = "exe"
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
- spec.required_ruby_version = ">= 2.3.0"
24
+ spec.required_ruby_version = ">= 2.4.0"
25
25
 
26
26
  spec.add_dependency "octokit", "~> 4.0"
27
27
  spec.add_dependency "httpclient"
28
28
 
29
- spec.add_development_dependency "bundler", "~> 1.15"
30
- spec.add_development_dependency "rake", "~> 10.0"
29
+ spec.add_development_dependency "bundler", "> 1.15"
30
+ spec.add_development_dependency "rake", ">= 13"
31
31
  spec.add_development_dependency "rspec", "~> 3.0"
32
32
  spec.add_development_dependency "pry"
33
33
  spec.add_development_dependency "pry-byebug"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lock_diff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - vividmuimui
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-21 00:00:00.000000000 Z
11
+ date: 2020-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octokit
@@ -42,30 +42,30 @@ dependencies:
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.15'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.15'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '13'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: '13'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -145,6 +145,7 @@ files:
145
145
  - exe/lock_diff
146
146
  - exe/lock_diff_for_tachikoma
147
147
  - lib/lock_diff.rb
148
+ - lib/lock_diff/changelog.rb
148
149
  - lib/lock_diff/cli/option_parser.rb
149
150
  - lib/lock_diff/diff_info.rb
150
151
  - lib/lock_diff/formatter/github_markdown.rb
@@ -178,15 +179,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
178
179
  requirements:
179
180
  - - ">="
180
181
  - !ruby/object:Gem::Version
181
- version: 2.3.0
182
+ version: 2.4.0
182
183
  required_rubygems_version: !ruby/object:Gem::Requirement
183
184
  requirements:
184
185
  - - ">="
185
186
  - !ruby/object:Gem::Version
186
187
  version: '0'
187
188
  requirements: []
188
- rubyforge_project:
189
- rubygems_version: 2.6.13
189
+ rubygems_version: 3.0.3
190
190
  signing_key:
191
191
  specification_version: 4
192
192
  summary: This gem detects changes to your package manager (e.g. Gemfile) and generates