speed up testing and remove test_files in gemspec
This commit is contained in:
parent
bee56e2df9
commit
e28085f083
|
@ -68,10 +68,10 @@ module OneGadget
|
|||
# Fetch the latest release version's tag name.
|
||||
# @return [String] The tag name, in form +vx.x.x+.
|
||||
def latest_tag
|
||||
latest = url_request('https://github.com/david942j/one_gadget/releases').scan(%r{/tree/v([\d.]+)"}).map do |tag|
|
||||
releases_url = 'https://github.com/david942j/one_gadget/releases'
|
||||
@latest_tag ||= 'v' + url_request(releases_url).scan(%r{/tree/v([\d.]+)"}).map do |tag|
|
||||
Gem::Version.new(tag.first)
|
||||
end.max.to_s
|
||||
'v' + latest
|
||||
end
|
||||
|
||||
# Get the url which can fetch +filename+ from remote repo.
|
||||
|
@ -97,14 +97,13 @@ module OneGadget
|
|||
# Get the latest builds list from repo.
|
||||
# @return [Array<String>] List of build ids.
|
||||
def remote_builds
|
||||
url_request(url_of_file('builds_list')).lines.map(&:strip)
|
||||
@remote_builds ||= url_request(url_of_file('builds_list')).lines.map(&:strip)
|
||||
end
|
||||
|
||||
# Get request.
|
||||
# @param [String] url The url.
|
||||
# @return [String] The request response body.
|
||||
def url_request(url)
|
||||
# TODO: add timeout to handle github crashed or in no network environment.
|
||||
uri = URI.parse(url)
|
||||
http = Net::HTTP.new(uri.host, uri.port)
|
||||
http.use_ssl = true
|
||||
|
@ -113,7 +112,11 @@ module OneGadget
|
|||
request = Net::HTTP::Get.new(uri.request_uri)
|
||||
|
||||
response = http.request(request)
|
||||
raise ArgumentError, "Fail to get response of #{url}" unless response.code == '200'
|
||||
response.body
|
||||
rescue NoMethodError, SocketError, ArgumentError => e
|
||||
p e
|
||||
nil
|
||||
end
|
||||
|
||||
# Show the message of ask user to update gem.
|
||||
|
|
|
@ -19,7 +19,6 @@ Gem::Specification.new do |s|
|
|||
s.authors = ['david942j']
|
||||
s.email = ['david942j@gmail.com']
|
||||
s.files = Dir['lib/**/*.rb'] + Dir['bin/*'] + %w(README.md)
|
||||
s.test_files = Dir['spec/**/*']
|
||||
s.homepage = 'https://github.com/david942j/one_gadget'
|
||||
s.executables = ['one_gadget']
|
||||
|
||||
|
|
|
@ -18,6 +18,10 @@ describe OneGadget::Helper do
|
|||
expect(OneGadget::Helper.colorize('123', sev: :integer)).to eq "\e[38;5;12m123\e[0m"
|
||||
end
|
||||
|
||||
it 'url_request' do
|
||||
expect(OneGadget::Helper.url_request('oao')).to be nil
|
||||
end
|
||||
|
||||
it 'architecture' do
|
||||
expect(OneGadget::Helper.architecture(@libcpath)).to be :amd64
|
||||
expect(OneGadget::Helper.architecture(__FILE__)).to be :unknown
|
||||
|
|
Loading…
Reference in New Issue