Module: Makit::Gems
- Defined in:
- lib/makit/gems.rb
Overview
This class provide methods for working with the system Environment.
Class Method Summary collapse
- .get_installed_gem_version(gem_name) ⇒ Object
- .get_latest_gem_version(gem_name) ⇒ Object
- .install_latest_gem(gem_name) ⇒ Object
- .is_gem_installed(gem_name) ⇒ Object
Class Method Details
.get_installed_gem_version(gem_name) ⇒ Object
31 32 33 34 |
# File 'lib/makit/gems.rb', line 31 def self.get_installed_gem_version(gem_name) versions = `gem list #{gem_name}`.split("(")[1].split(")")[0].split(",") versions.first.strip end |
.get_latest_gem_version(gem_name) ⇒ Object
36 37 38 |
# File 'lib/makit/gems.rb', line 36 def self.get_latest_gem_version(gem_name) `gem search #{gem_name} --remote --exact`.split("(")[1].split(")")[0] end |
.install_latest_gem(gem_name) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/makit/gems.rb', line 10 def self.install_latest_gem(gem_name) if is_gem_installed(gem_name) latest_version = get_latest_gem_version(gem_name) installed_version = get_installed_gem_version(gem_name) if installed_version == latest_version puts " #{gem_name} gem is up to date".colorize(:green) else "gem install #{gem_name}".run puts " #{gem_name} gem updated to #{latest_version}".colorize(:green) end else "gem install #{gem_name}".run puts " #{gem_name} gem installed".colorize(:green) end end |
.is_gem_installed(gem_name) ⇒ Object
26 27 28 29 |
# File 'lib/makit/gems.rb', line 26 def self.is_gem_installed(gem_name) `gem list #{gem_name}` $CHILD_STATUS.success? end |