Class: RightConf::MercurialConfigurator
- Inherits:
-
Object
- Object
- RightConf::MercurialConfigurator
- Includes:
- Configurator
- Defined in:
- lib/rconf/configurators/mercurial_configurator.rb
Constant Summary collapse
- MAC_MERCURIAL_URL =
'http://mercurial.berkwood.com/binaries/Mercurial-1.8.1-py2.6-macosx10.6.zip'
- MAC_10_7_MERCURIAL_URL =
'http://mercurial.berkwood.com/binaries/Mercurial-2.0.2-py2.7-macosx10.7.zip'
- MAC_MERCURIAL_FILE =
'mercurial-1.8.1_20110310-py2.6-macosx10.6'
- MAC_10_7_MERCURIAL_FILE =
'mercurial-2.0.2_20120104-py2.7-macosx10.7'
Instance Method Summary collapse
-
#check_linux ⇒ Object
(also: #check_darwin, #check_windows)
Check whether Mercurial is installed.
-
#mac_mercurial_file ⇒ Object
File name of mercurial installer for Mac OS X.
-
#mac_mercurial_file_darwin ⇒ Object
File name of mercurial installer for Mac OS X < 10.7.
-
#mac_mercurial_file_darwin_lion ⇒ Object
File name of mercurial installer for Mac OS X >= 10.7.
-
#mac_mercurial_url ⇒ Object
URL to mercurial installer for Mac OS X.
-
#mac_mercurial_url_darwin ⇒ Object
URL to mercurial installer for Mac OS X < 10.7.
-
#mac_mercurial_url_darwin_lion ⇒ Object
URL to mercurial installer for Mac OS X >= 10.7.
-
#run_darwin ⇒ Object
Brew does not have a package for mercurial :(.
-
#run_linux ⇒ Object
Install Linux Mercurial package.
-
#run_windows ⇒ Object
Install Windows software.
Methods included from Configurator
#[], #check, included, #post_process, #run, #signature, #validate
Methods included from ProgressReporter
included, report_to_file, report_to_stdout
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class RightConf::Configurator
Instance Method Details
#check_linux ⇒ Object Also known as: check_darwin, check_windows
Check whether Mercurial is installed
Return
- true
-
If Mercurial is installed
- false
-
Otherwise
34 35 36 37 38 39 |
# File 'lib/rconf/configurators/mercurial_configurator.rb', line 34 def check_linux report_check("Checking for Mercurial") installed = Command.execute('hg', '--version').success? report_result(installed) installed end |
#mac_mercurial_file ⇒ Object
File name of mercurial installer for Mac OS X
93 94 95 |
# File 'lib/rconf/configurators/mercurial_configurator.rb', line 93 def mac_mercurial_file Platform.dispatch { :mac_mercurial_file } end |
#mac_mercurial_file_darwin ⇒ Object
File name of mercurial installer for Mac OS X < 10.7
98 99 100 |
# File 'lib/rconf/configurators/mercurial_configurator.rb', line 98 def mac_mercurial_file_darwin MAC_MERCURIAL_FILE end |
#mac_mercurial_file_darwin_lion ⇒ Object
File name of mercurial installer for Mac OS X >= 10.7
103 104 105 |
# File 'lib/rconf/configurators/mercurial_configurator.rb', line 103 def mac_mercurial_file_darwin_lion MAC_10_7_MERCURIAL_FILE end |
#mac_mercurial_url ⇒ Object
URL to mercurial installer for Mac OS X
78 79 80 |
# File 'lib/rconf/configurators/mercurial_configurator.rb', line 78 def mac_mercurial_url Platform.dispatch { :mac_mercurial_url } end |
#mac_mercurial_url_darwin ⇒ Object
URL to mercurial installer for Mac OS X < 10.7
83 84 85 |
# File 'lib/rconf/configurators/mercurial_configurator.rb', line 83 def mac_mercurial_url_darwin MAC_MERCURIAL_URL end |
#mac_mercurial_url_darwin_lion ⇒ Object
URL to mercurial installer for Mac OS X >= 10.7
88 89 90 |
# File 'lib/rconf/configurators/mercurial_configurator.rb', line 88 def mac_mercurial_url_darwin_lion MAC_10_7_MERCURIAL_URL end |
#run_darwin ⇒ Object
Brew does not have a package for mercurial :(
Return
- true
-
Always return true
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/rconf/configurators/mercurial_configurator.rb', line 56 def run_darwin report_check('Installing Mercurial') tempdir = File.join(ENV['HOME'], '.rconf_temp') FileUtils.mkdir_p(tempdir) begin Dir.chdir(tempdir) do Command.execute('curl', '-O', '-f', mac_mercurial_url, abort_option('Failed to download Mercurial')) Command.execute('unzip', File.basename(mac_mercurial_url), abort_option('Failed to unzip Mercurial')) end Dir.chdir(File.join(tempdir, mac_mercurial_file)) do Command.sudo('installer', '-pkg', mac_mercurial_file.gsub('_', '+') + '.mpkg', '-target', '/', abort_option('Failed to install Mercurial')) end ensure FileUtils.rm_rf(tempdir) end report_success end |
#run_linux ⇒ Object
Install Linux Mercurial package
Return
- true
-
Always return true
47 48 49 50 |
# File 'lib/rconf/configurators/mercurial_configurator.rb', line 47 def run_linux opts = { :report => true }.merge(abort_option('Failed to install Mercurial')) PackageInstaller.install('mercurial', opts) end |
#run_windows ⇒ Object
Install Windows software
Return
- true
-
Always return true
111 112 113 |
# File 'lib/rconf/configurators/mercurial_configurator.rb', line 111 def run_windows # TBD end |