gems_comparator 0.2.1 → 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 +4 -4
- data/.rubocop.yml +1 -0
- data/gems_comparator.gemspec +1 -1
- data/lib/gems_comparator/comparator.rb +1 -6
- data/lib/gems_comparator/gem_info.rb +21 -6
- data/lib/gems_comparator/github_repository.rb +9 -5
- data/lib/gems_comparator/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 73350d48051c6613ec8f8beacca8b57cd3aa7b13a67cf471c42d6c9da344b2ce
|
4
|
+
data.tar.gz: 056e9853d3f248f3ebe98801c379c97fcdd98a2f1646a20e0265f3298910f167
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4bd2d6562def761bb753b53e19cf4133ff3b91097840b18197c42d7ac4015ed10647a423720f8c6b01682c0c394ec3103bd78d95780843bd880ce9eeb38de71
|
7
|
+
data.tar.gz: 3798cf8bac2f9615e629601e7d7e15980ed8690411ddc7a1705e0312bbe7e35fb1ccbfdf35c257f3fa57b2f46caf9636385879ecefafadf10757bfa53dc45220
|
data/.rubocop.yml
CHANGED
data/gems_comparator.gemspec
CHANGED
@@ -26,6 +26,6 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_development_dependency 'parallel', '~> 1.10.0'
|
27
27
|
spec.add_development_dependency 'rake', '~> 10.0'
|
28
28
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
29
|
-
spec.add_development_dependency 'rubocop', '0.
|
29
|
+
spec.add_development_dependency 'rubocop', '0.59.2'
|
30
30
|
spec.add_development_dependency 'webmock', '~> 2.3.2'
|
31
31
|
end
|
@@ -16,7 +16,7 @@ module GemsComparator
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def compare
|
19
|
-
gems = addition_gems + change_gems
|
19
|
+
gems = addition_gems + change_gems
|
20
20
|
Comparator.convert(gems.sort_by(&:name))
|
21
21
|
end
|
22
22
|
|
@@ -47,11 +47,6 @@ module GemsComparator
|
|
47
47
|
names.map { |name| new_geminfo(name) }
|
48
48
|
end
|
49
49
|
|
50
|
-
def deletion_gems
|
51
|
-
names = before_gems.keys - after_gems.keys
|
52
|
-
names.map { |name| new_geminfo(name) }
|
53
|
-
end
|
54
|
-
|
55
50
|
def new_geminfo(name)
|
56
51
|
GemInfo.new(name, before_gems[name].to_s, after_gems[name].to_s)
|
57
52
|
end
|
@@ -24,10 +24,9 @@ module GemsComparator
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def github_url
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
"https://github.com/#{github_urls[name]}"
|
27
|
+
[homepage, source_code_uri, github_url_from_yaml].each do |url|
|
28
|
+
normalized = normalized_github_url(url)
|
29
|
+
break normalized if normalized
|
31
30
|
end
|
32
31
|
end
|
33
32
|
|
@@ -42,8 +41,20 @@ module GemsComparator
|
|
42
41
|
|
43
42
|
private
|
44
43
|
|
45
|
-
def
|
46
|
-
|
44
|
+
def normalized_github_url(url)
|
45
|
+
return unless url.include?(Octokit.web_endpoint)
|
46
|
+
|
47
|
+
Octokit::Repository.from_url(url).url
|
48
|
+
rescue URI::InvalidURIError, Octokit::InvalidRepository, NoMethodError
|
49
|
+
nil
|
50
|
+
end
|
51
|
+
|
52
|
+
def github_slugs
|
53
|
+
@github_slugs ||= YAML.load_file(GITHUB_URLS_PATH)
|
54
|
+
end
|
55
|
+
|
56
|
+
def github_url_from_yaml
|
57
|
+
"https://github.com/#{github_slugs[name]}" if github_slugs.key?(name)
|
47
58
|
end
|
48
59
|
|
49
60
|
def spec
|
@@ -57,5 +68,9 @@ module GemsComparator
|
|
57
68
|
]
|
58
69
|
spec_paths.find { |path| File.exist?(path) }
|
59
70
|
end
|
71
|
+
|
72
|
+
def source_code_uri
|
73
|
+
spec&.metadata&.fetch('source_code_uri', nil)
|
74
|
+
end
|
60
75
|
end
|
61
76
|
end
|
@@ -3,6 +3,8 @@
|
|
3
3
|
module GemsComparator
|
4
4
|
class GithubRepository
|
5
5
|
def self.repo?(url)
|
6
|
+
return false unless url.include?(Octokit.web_endpoint)
|
7
|
+
|
6
8
|
Octokit::Repository.from_url(url)
|
7
9
|
true
|
8
10
|
rescue StandardError
|
@@ -18,20 +20,22 @@ module GemsComparator
|
|
18
20
|
head_tag = find_tag(head)
|
19
21
|
|
20
22
|
if base_tag && head_tag
|
21
|
-
"#{@repo.url}/compare/#{base_tag
|
23
|
+
"#{@repo.url}/compare/#{base_tag}...#{head_tag}"
|
22
24
|
elsif base_tag
|
23
|
-
"#{@repo.url}/compare/#{base_tag
|
25
|
+
"#{@repo.url}/compare/#{base_tag}...master"
|
24
26
|
end
|
25
27
|
end
|
26
28
|
|
27
29
|
private
|
28
30
|
|
29
|
-
def
|
30
|
-
@
|
31
|
+
def tag_names
|
32
|
+
@tag_names ||= client.tags(@repo).map(&:name)
|
31
33
|
end
|
32
34
|
|
33
35
|
def find_tag(name)
|
34
|
-
|
36
|
+
return if name.empty?
|
37
|
+
|
38
|
+
tag_names.find { |tag_name| tag_name.include?(name) }
|
35
39
|
end
|
36
40
|
|
37
41
|
def client
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gems_comparator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sinsoku
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: octokit
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.59.2
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.59.2
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: webmock
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
156
156
|
version: '0'
|
157
157
|
requirements: []
|
158
158
|
rubyforge_project:
|
159
|
-
rubygems_version: 2.7.
|
159
|
+
rubygems_version: 2.7.7
|
160
160
|
signing_key:
|
161
161
|
specification_version: 4
|
162
162
|
summary: A comparator for Gemfile.lock that generate the GitHub's compare view urls
|