Class: FastlaneCore::UpdateChecker
- Inherits:
-
Object
- Object
- FastlaneCore::UpdateChecker
- Defined in:
- lib/fastlane_core/update_checker.rb
Overview
Verifies, the user runs the latest version of this gem
Constant Summary collapse
- UPDATE_URL =
This web service is fully open source: github.com/fastlane/refresher
"https://fastlane-refresher.herokuapp.com/"
Class Method Summary collapse
- .server_results ⇒ Object
- .show_update_message(gem_name, available, current_version) ⇒ Object
- .show_update_status(gem_name, current_version) ⇒ Object
- .start_looking_for_update(gem_name) ⇒ Object
-
.update_available?(gem_name, current_version) ⇒ Boolean
Is a new official release available (this does not include pre-releases).
-
.verify_latest_version(gem_name, current_version) ⇒ Object
Old code This method will check if the latest version is installed and show a warning if that’s not the case.
Class Method Details
.server_results ⇒ Object
36 37 38 |
# File 'lib/fastlane_core/update_checker.rb', line 36 def self.server_results @@results ||= {} end |
.show_update_message(gem_name, available, current_version) ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/fastlane_core/update_checker.rb', line 26 def self.(gem_name, available, current_version) v = fetch_latest(gem_name) puts '#######################################################################'.green puts "# #{gem_name} #{available} is available. You are on #{current_version}.".green puts "# It is recommended to use the latest version.".green puts "# Update using 'sudo gem update #{gem_name.downcase}'.".green puts "# To see what's new, open https://github.com/KrauseFx/#{gem_name}/releases.".green puts '#######################################################################'.green end |
.show_update_status(gem_name, current_version) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/fastlane_core/update_checker.rb', line 19 def self.show_update_status(gem_name, current_version) latest = server_results[gem_name] if latest and Gem::Version.new(latest) > Gem::Version.new(current_version) (gem_name, latest, current_version) end end |
.start_looking_for_update(gem_name) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/fastlane_core/update_checker.rb', line 10 def self.start_looking_for_update(gem_name) Thread.new do begin server_results[gem_name] = fetch_latest(gem_name) rescue end end end |
.update_available?(gem_name, current_version) ⇒ Boolean
Is a new official release available (this does not include pre-releases)
59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/fastlane_core/update_checker.rb', line 59 def self.update_available?(gem_name, current_version) begin latest = fetch_latest(gem_name) if latest and Gem::Version.new(latest) > Gem::Version.new(current_version) return true end rescue => ex Helper.log.error("Could not check if '#{gem_name}' is up to date.") end return false end |
.verify_latest_version(gem_name, current_version) ⇒ Object
Old code This method will check if the latest version is installed and show a warning if that’s not the case
45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/fastlane_core/update_checker.rb', line 45 def self.verify_latest_version(gem_name, current_version) return true unless self.update_available?(gem_name, current_version) v = fetch_latest(gem_name) puts '#######################################################################'.green puts "# #{gem_name} #{v} is available. You are on #{current_version}.".green puts "# It is recommended to use the latest version.".green puts "# Update using 'sudo gem update #{gem_name.downcase}'.".green puts "# To see what's new, open https://github.com/KrauseFx/#{gem_name}/releases.".green puts '#######################################################################'.green false end |