Module: Mortar::Updater
- Defined in:
- lib/mortar/updater.rb
Constant Summary collapse
- CONNECT_TIMEOUT =
5
- READ_TIMEOUT =
5
Class Method Summary collapse
- .compare_versions(first_version, second_version) ⇒ Object
- .get_newest_version ⇒ Object
- .update_check ⇒ Object
Class Method Details
.compare_versions(first_version, second_version) ⇒ Object
43 44 45 |
# File 'lib/mortar/updater.rb', line 43 def self.compare_versions(first_version, second_version) first_version.split('.').map {|part| Integer(part) rescue part} <=> second_version.split('.').map {|part| Integer(part) rescue part} end |
.get_newest_version ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/mortar/updater.rb', line 28 def self.get_newest_version begin require "excon" gem_data = Mortar::Helpers.json_decode( Excon.get('https://rubygems.org/api/v1/gems/mortar.json', {:connect_timeout => CONNECT_TIMEOUT, :read_timeout => READ_TIMEOUT, :ssl_version => :TLSv1}).body) gem_data.default = "0.0.0" gem_data['version'] rescue Exception => e '0.0.0' end end |
.update_check ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/mortar/updater.rb', line 47 def self.update_check local_version = Mortar::VERSION newest_version = self.get_newest_version if compare_versions(newest_version, local_version) > 0 if Mortar::Helpers.installed_with_omnibus? Mortar::Helpers.warning("There is a new version of the Mortar development framework available. Please run 'mortar upgrade' to install the latest version.\n\n") else Mortar::Helpers.warning("There is a new version of the Mortar development framework available. Please run 'gem install mortar' to install the latest version.\n\n") end end end |