gems_comparator 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|