gem_updater 4.4.0 → 4.4.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a04f3bf2dd4e041cd932e126d162e4a95b7ea2a2a2690a00e97f8a5f62ef6e3
4
- data.tar.gz: 72af5a2dd171dd37b6281a92c9e6508c6bc6020eb5aa46b218158f4cfcb449ec
3
+ metadata.gz: 10e740d324e4bd91b5e7b8d6c7d2c4272b84eedf0cabcab2e5244c55779a4a2c
4
+ data.tar.gz: d7050c27a7791a3b185c08e088e29c9cf645908106d352027d3ddb02f826bdae
5
5
  SHA512:
6
- metadata.gz: 62ccd70ebba5c0d6ea04a47f3cf8e6fd9df7b3c170e09e0af48c238468248e4f241bf17ff6028e31ef078efbf20901869d9c64f6ca64046dd616a9cc5dce94b9
7
- data.tar.gz: 3e027d0ff378017f0206edab9216eec81d1baa18a8d5b7a6babc287524d917973d8a2127f15df9ea6eb7e00fd575497c10e7b96c20f5c2db233b5140b8054333
6
+ metadata.gz: 26be9e96400f04d892de240c28af03f02d5e5d23ec33d51bdbce015883df6bc4de2a1631da3ab42b1bada40384868a095f1b1e2c1a82fe1f6ca7cbd231656864
7
+ data.tar.gz: 55a53a16a210ef6380ca2bc3febafaf01ecd42de0693fa88fcabfe7302e195d9fe0ba69989bcc37b9638f085cb06a42fe33a3c78e1e691bb4557f291b043e90a
@@ -34,7 +34,7 @@ module GemUpdater
34
34
  # @param url [String] remote url
35
35
  # @return [Hash] parsed JSON
36
36
  def parse_remote_json(url)
37
- JSON.parse(URI.open(url).read)
37
+ JSON.parse(URI.parse(url).open.read)
38
38
  end
39
39
 
40
40
  # Ask rubygems.org for source uri of gem.
@@ -67,25 +67,18 @@ module GemUpdater
67
67
  # Look if gem can be found in another remote
68
68
  #
69
69
  # @return [String|nil] uri of source code
70
- # rubocop:disable Metrics/MethodLength
71
70
  def uri_from_other_sources
72
- uri = nil
73
- source.remotes.each do |remote|
74
- break if uri
75
-
76
- uri = case remote.host
77
- when 'rubygems.org' then next # already checked
78
- when 'rails-assets.org'
79
- uri_from_railsassets
80
- else
81
- Bundler.ui.error "Source #{remote} is not supported, ' \
82
- 'feel free to open a PR or an issue on https://github.com/MaximeD/gem_updater"
83
- end
71
+ source.remotes.find do |remote|
72
+ case remote.host
73
+ when 'rubygems.org' then next # already checked
74
+ when 'rails-assets.org'
75
+ return uri_from_railsassets
76
+ else
77
+ Bundler.ui.error "Source #{remote} is not supported, ' \
78
+ 'feel free to open a PR or an issue on https://github.com/MaximeD/gem_updater"
79
+ end
84
80
  end
85
-
86
- uri
87
81
  end
88
- # rubocop:enable Metrics/MethodLength
89
82
 
90
83
  # Ask rails-assets.org for source uri of gem.
91
84
  # API is at : https://rails-assets.org/packages/package_name
@@ -33,7 +33,7 @@ module GemUpdater
33
33
  return unless uri
34
34
 
35
35
  Bundler.ui.warn "Looking for a changelog in #{uri}"
36
- find_changelog(Nokogiri::HTML(URI.open(uri)))
36
+ find_changelog(Nokogiri::HTML(uri.open))
37
37
  rescue OpenURI::HTTPError # Uri points to nothing
38
38
  log_error("Cannot find #{uri}")
39
39
  rescue Errno::ETIMEDOUT # timeout
@@ -53,7 +53,7 @@ module GemUpdater
53
53
  def correct_uri(url)
54
54
  return unless url.is_a?(String) && !url.empty?
55
55
 
56
- uri = URI(url)
56
+ uri = URI.parse(url)
57
57
  uri.scheme == 'http' ? known_https(uri) : uri
58
58
  end
59
59
 
@@ -68,9 +68,7 @@ module GemUpdater
68
68
  when HOSTS[:github]
69
69
  # remove possible subdomain like 'wiki.github.com'
70
70
  URI "https://github.com#{uri.path}"
71
- when HOSTS[:bitbucket]
72
- URI "https://#{uri.host}#{uri.path}"
73
- when HOSTS[:rubygems]
71
+ when HOSTS[:bitbucket], HOSTS[:rubygems]
74
72
  URI "https://#{uri.host}#{uri.path}"
75
73
  else
76
74
  uri
@@ -147,14 +145,14 @@ module GemUpdater
147
145
  private
148
146
 
149
147
  # Find which link corresponds to changelog.
148
+ # Last one is taken as files come after directories. So if there is a directory plus a file
149
+ # matching a changelog name, we ensure file is preferred.
150
150
  #
151
151
  # @return [String, nil] url of changelog
152
152
  def find_changelog_link
153
- changelog_names.find do |name|
154
- node = doc.at_css(%([aria-labelledby="files"] a[title^="#{name}"]))
155
-
156
- break node.attr('href') if node
157
- end
153
+ changelog_names.map do |name|
154
+ doc.at_css(%([aria-labelledby="files"] a[title^="#{name}"]))
155
+ end.compact.last&.attr('href')
158
156
  end
159
157
 
160
158
  # Looks into document to find it there is an anchor to new gem version.
@@ -162,7 +160,7 @@ module GemUpdater
162
160
  # @param url [String] url of changelog
163
161
  # @return [String, nil] anchor's href
164
162
  def find_anchor(url)
165
- changelog_page = Nokogiri::HTML(URI.open(url))
163
+ changelog_page = Nokogiri::HTML(URI.parse(url).open)
166
164
  anchor = changelog_page.css(%(a.anchor)).find do |element|
167
165
  element.attr('href').match(version.delete('.'))
168
166
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem_updater
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.4.0
4
+ version: 4.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maxime Demolin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-17 00:00:00.000000000 Z
11
+ date: 2021-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.8'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.14'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.14'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rspec
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +100,14 @@ dependencies:
86
100
  requirements:
87
101
  - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: '0.78'
103
+ version: '1.0'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: '0.78'
110
+ version: '1.0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: rubocop-performance
99
113
  requirement: !ruby/object:Gem::Requirement