lock_diff 0.6.0 → 0.7.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 +4 -4
- data/lib/lock_diff/diff_info.rb +2 -1
- data/lib/lock_diff/github.rb +1 -0
- data/lib/lock_diff/github/changelog_url_finder.rb +9 -19
- data/lib/lock_diff/github/content.rb +21 -1
- data/lib/lock_diff/github/directory.rb +23 -0
- data/lib/lock_diff/version.rb +1 -1
- data/lock_diff.gemspec +2 -0
- metadata +32 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db407b53c51962d6fb103f3d42d714e91799273cb73512ad46bf11ded0432325
|
4
|
+
data.tar.gz: 8c70ba785dd083ed785e3b5c7da5d6b3fcdd135a1a0b2f2c58ca46319eddc88b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35a2eb2d40e3022fd1a2ad75ef5661f727ff0c5d9fea949b045350db605075532c8cc5d33bdac6afcc500f1737a7b48761afb5bdf87b84247cf4baed45f6ad6c
|
7
|
+
data.tar.gz: cf412bc9644cc4179b850199e5b10093e1e57770e8b207e17851de129a1b02d1cde6f96305ae8fb71a7b5a02d64c6c805e387589ee30b28dbb48994bcf65c0bb
|
data/lib/lock_diff/diff_info.rb
CHANGED
@@ -63,7 +63,8 @@ module LockDiff
|
|
63
63
|
Github::ChangelogUrlFinder.new(
|
64
64
|
repository: package.repository,
|
65
65
|
repository_url: package.repository_url,
|
66
|
-
ref: @new_package.ref
|
66
|
+
ref: @new_package.ref,
|
67
|
+
package_name: package.name
|
67
68
|
).call.map do |url|
|
68
69
|
Changelog.new(url)
|
69
70
|
end
|
data/lib/lock_diff/github.rb
CHANGED
@@ -2,6 +2,7 @@ require_relative "github/access_token"
|
|
2
2
|
require_relative "github/changelog_url_finder"
|
3
3
|
require_relative "github/client"
|
4
4
|
require_relative "github/content"
|
5
|
+
require_relative "github/directory"
|
5
6
|
require_relative "github/url_detector"
|
6
7
|
require_relative "github/pull_request"
|
7
8
|
require_relative "github/repository_name_detector"
|
@@ -1,34 +1,25 @@
|
|
1
1
|
module LockDiff
|
2
2
|
module Github
|
3
3
|
class ChangelogUrlFinder
|
4
|
-
|
5
|
-
changelog
|
6
|
-
changes
|
7
|
-
history
|
8
|
-
releases
|
9
|
-
releasenote
|
10
|
-
news
|
11
|
-
)
|
12
|
-
|
13
|
-
def initialize(repository:, repository_url:, ref:)
|
4
|
+
def initialize(repository:, repository_url:, ref:, package_name:)
|
14
5
|
@repository = repository
|
15
6
|
@repository_url = repository_url
|
16
7
|
@ref = ref
|
8
|
+
@package_name = package_name
|
17
9
|
end
|
18
10
|
|
19
11
|
def call
|
20
|
-
change_log_urls.push(find_release_url).compact
|
12
|
+
directories.flat_map(&:change_log_urls).push(find_release_url).compact
|
21
13
|
end
|
22
14
|
|
23
15
|
private
|
24
16
|
|
25
|
-
def
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
end&.map(&:html_url)
|
17
|
+
def directories
|
18
|
+
[
|
19
|
+
Directory.new(@repository, @ref),
|
20
|
+
Directory.new(@repository, @ref, path: @package_name),
|
21
|
+
Directory.new(@repository, @ref, path: "gems/#{@package_name}")
|
22
|
+
]
|
32
23
|
end
|
33
24
|
|
34
25
|
def find_release_url
|
@@ -37,7 +28,6 @@ module LockDiff
|
|
37
28
|
@repository_url + "/releases"
|
38
29
|
end
|
39
30
|
end
|
40
|
-
|
41
31
|
end
|
42
32
|
end
|
43
33
|
end
|
@@ -6,14 +6,34 @@ module LockDiff
|
|
6
6
|
|
7
7
|
def_delegators :@content, :name, :html_url
|
8
8
|
|
9
|
+
CHANGE_LOG_CANDIDATES = %w[
|
10
|
+
changelog
|
11
|
+
changes
|
12
|
+
history
|
13
|
+
releases
|
14
|
+
releasenote
|
15
|
+
news
|
16
|
+
].freeze
|
17
|
+
|
9
18
|
def initialize(content)
|
10
19
|
@content = content
|
11
20
|
end
|
12
21
|
|
22
|
+
def change_log?
|
23
|
+
file? && CHANGE_LOG_CANDIDATES.any? do |candidate|
|
24
|
+
normalized_name.start_with?(candidate)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def normalized_name
|
31
|
+
@normalized_name ||= name.downcase.delete('_')
|
32
|
+
end
|
33
|
+
|
13
34
|
def file?
|
14
35
|
@content.type == 'file'
|
15
36
|
end
|
16
|
-
|
17
37
|
end
|
18
38
|
end
|
19
39
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module LockDiff
|
2
|
+
module Github
|
3
|
+
class Directory
|
4
|
+
def initialize(repository, ref, path: nil)
|
5
|
+
@repository = repository
|
6
|
+
@ref = ref
|
7
|
+
@path = path
|
8
|
+
end
|
9
|
+
|
10
|
+
def change_log_urls
|
11
|
+
contents.select(&:change_log?).map(&:html_url)
|
12
|
+
rescue Octokit::NotFound
|
13
|
+
[]
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def contents
|
19
|
+
@contents ||= Github.client.contents(@repository, ref: @ref, path: @path)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/lock_diff/version.rb
CHANGED
data/lock_diff.gemspec
CHANGED
@@ -32,4 +32,6 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_development_dependency "pry"
|
33
33
|
spec.add_development_dependency "pry-byebug"
|
34
34
|
spec.add_development_dependency "codacy-coverage"
|
35
|
+
spec.add_development_dependency "vcr"
|
36
|
+
spec.add_development_dependency "webmock"
|
35
37
|
end
|
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.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- vividmuimui
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: octokit
|
@@ -122,6 +122,34 @@ dependencies:
|
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: vcr
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: webmock
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
125
153
|
description: This gem detects changes to your package manager (e.g. Gemfile) and generates
|
126
154
|
a Markdown-formatted diff.
|
127
155
|
email:
|
@@ -159,6 +187,7 @@ files:
|
|
159
187
|
- lib/lock_diff/github/changelog_url_finder.rb
|
160
188
|
- lib/lock_diff/github/client.rb
|
161
189
|
- lib/lock_diff/github/content.rb
|
190
|
+
- lib/lock_diff/github/directory.rb
|
162
191
|
- lib/lock_diff/github/pull_request.rb
|
163
192
|
- lib/lock_diff/github/repository_name_detector.rb
|
164
193
|
- lib/lock_diff/github/tag_finder.rb
|
@@ -186,7 +215,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
186
215
|
- !ruby/object:Gem::Version
|
187
216
|
version: '0'
|
188
217
|
requirements: []
|
189
|
-
rubygems_version: 3.
|
218
|
+
rubygems_version: 3.0.6
|
190
219
|
signing_key:
|
191
220
|
specification_version: 4
|
192
221
|
summary: This gem detects changes to your package manager (e.g. Gemfile) and generates
|