lock_diff 0.3.8 → 0.6.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: 2d656295586641a6b05f6f512164b0d38256d4b5
4
- data.tar.gz: b449079a6ceef72575eda764005cb6c3e10febb9
2
+ SHA256:
3
+ metadata.gz: c3d24a9de17d4e6d158bd759389b0dafa4c15cf58efc61452b4ce85c450644e2
4
+ data.tar.gz: ffae4dd28a5385834069b856fcc888b10b397416f8305c026b369d220c944443
5
5
  SHA512:
6
- metadata.gz: '0930238ed955a2129682bdcab710b1508f4ce05ccaa935ac88e961ac15a3145c21860a5eabc7cbebc7ca831099a0ee5df5967c7e7d5ed70729dfedddefa6a7f5'
7
- data.tar.gz: ecd64a6959bebc28c83ad7fcce84a8ed7997405243a34308c96edc5c0372ff6e5a526576076ac3e196eeb298298e4c73013cc50079de461fbb63c400b8e9401a
6
+ metadata.gz: 71b5432a0d3ff82cf24ae95c61de3a2c3cbd8e00db8c601be84838549432370dd91da0ee4e7da2055d73917b641360ceef5406b32f6de429ab04a9dbbc1ba787
7
+ data.tar.gz: 4952208e316746577f8bf051bc5d8f3967575e888c1d21296687ef18485d2e69b452521ff00980110e1ee2aa402169ca9e5d68f59dbdbfe9480b5225c5411e76
data/.travis.yml CHANGED
@@ -1,9 +1,11 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.4.0
4
- - 2.4.2
3
+ - 2.5
4
+ - 2.6
5
+ - 2.7
6
+ - 3.0
5
7
  script:
6
- - bundle exec rspec
8
+ - bundle exec rspec
7
9
  notifications:
8
10
  slack:
9
11
  secure: DKSdr5uEtNXGpAARGV+Q694eNv9IGi30RjSIjk8lRZrmLxE0WJbk/17FkmjgVF2w1onO/knFWgCiPBoIncihy4hh6nfAJZDaRI8AwXqYGGi10KeUBu4309r/7SL60KnFUFsQ9o47tar09TY6HS55IesNjN2/mKIEJlpw2c7McPz58rIzlFizTW5OPShsfWQnuLAz9iUYjknZfrntirav+mwkqVKqDZoMM7MRzedk1KjlkRbun/EVrgMEYPqsbpmhfYV0DZkcymorhH6d/FBsrWeqB7QMT6KwROMBHDZGeGzYgaN3KgjZV35gw6pK2VlsETm7E/Fk9Imrjalq87Q28aqX5nq/MR6Llo9yfE4J7PkGOTxcvZlXqp/W+2xT/8Ne6Dy29gb/7TeJY9K4nmkbkrmkanKBBmvIjbhwT46BOPjn1Sz4kbceoZNgihI2hMMPypH61+U6v0eUcGLuxRyDaUsyrgRnBEDHFZHMpfZ1eE7uXnCO9IvqGm5Tn4goP0s67H98CFhP+j3cIM2HKdns6ZyGsAHVakw7bnB90mKc9bIaaPSKEyZZD4MpkJxnMxR453OlSwJZIXesIkbBJMZA4wdOAsPQSBaSCY2w566LsUs4izRVLpdeILa/NOaxb+l1OvmejGyiihUjSUfH7fiIhoD5E0+SgOsDIdd0TV17rb4=
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).
@@ -4,4 +4,4 @@ require "lock_diff"
4
4
  require "lock_diff/cli/option_parser"
5
5
 
6
6
  options = LockDiff::Cli::OptionParser.parse(ARGV, require_flags: %i(repository))
7
- LockDiff.run_by_latest_tachikoma(options)
7
+ LockDiff.run_by_latest_tachikoma(**options)
data/lib/lock_diff.rb CHANGED
@@ -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.8"
2
+ VERSION = "0.6.0"
3
3
  end
data/lock_diff.gemspec CHANGED
@@ -26,8 +26,8 @@ Gem::Specification.new do |spec|
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.8
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - vividmuimui
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-21 00:00:00.000000000 Z
11
+ date: 2021-02-27 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
@@ -170,7 +171,7 @@ homepage: ''
170
171
  licenses:
171
172
  - MIT
172
173
  metadata: {}
173
- post_install_message:
174
+ post_install_message:
174
175
  rdoc_options: []
175
176
  require_paths:
176
177
  - lib
@@ -185,9 +186,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
186
  - !ruby/object:Gem::Version
186
187
  version: '0'
187
188
  requirements: []
188
- rubyforge_project:
189
- rubygems_version: 2.6.13
190
- signing_key:
189
+ rubygems_version: 3.2.3
190
+ signing_key:
191
191
  specification_version: 4
192
192
  summary: This gem detects changes to your package manager (e.g. Gemfile) and generates
193
193
  a Markdown-formatted diff.