# frozen_string_literal: true require "rake/testtask" task default: %i[test rubocop] Rake::TestTask.new do |t| t.pattern = "./test/**/*_test.rb" end desc "Update bundled certs" task :update_certs do require "net/http" require "uri" fetch_file "https://curl.haxx.se/ca/cacert.pem", File.expand_path("lib/data/ca-certificates.crt", __dir__) end # # helpers # def fetch_file(uri, dest) File.open(dest, "w") do |file| resp = Net::HTTP.get_response(URI.parse(uri)) unless resp.code.to_i == 200 abort("bad response when fetching: #{uri}\n" \ "Status #{resp.code}: #{resp.body}") end file.write(resp.body) puts "Successfully fetched: #{uri}" end end