class Bun::VersionFetcher
Constants
- RUBYGEMS_GEM_URL
Attributes
arguments[R]
gem[R]
Public Class Methods
new(gem, arguments)
click to toggle source
# File lib/bun/version_fetcher.rb, line 9 def initialize(gem, arguments) @gem = gem @arguments = arguments end
Public Instance Methods
fetch_latest_version()
click to toggle source
# File lib/bun/version_fetcher.rb, line 14 def fetch_latest_version version = nil with_optional_spinner do json_response = JSON.parse(fetch) version = json_response["version"] end version end
with_optional_spinner() { || ... }
click to toggle source
# File lib/bun/version_fetcher.rb, line 25 def with_optional_spinner if arguments.print? yield else spinner = TTY::Spinner.new("[:spinner] Finding latest gem version for \"#{gem}\"...") spinner.auto_spin yield spinner.stop("Done!") end end
Private Instance Methods
fetch()
click to toggle source
# File lib/bun/version_fetcher.rb, line 38 def fetch open("#{RUBYGEMS_GEM_URL}/#{gem}.json").read rescue OpenURI::HTTPError raise ::Bun::Errors::GemNotFoundError.new("Aborting. Gem not found: #{gem}") end