Class: Luban::Deployment::Packages::Ruby::Installer
- Inherits:
-
Luban::Deployment::Package::Installer
- Object
- Worker::Base
- Luban::Deployment::Package::Worker
- Luban::Deployment::Package::Installer
- Luban::Deployment::Packages::Ruby::Installer
- Defined in:
- lib/luban/deployment/packages/ruby.rb
Constant Summary
Constants inherited from Luban::Deployment::Package::Installer
Luban::Deployment::Package::Installer::DefaultLibExtension, Luban::Deployment::Package::Installer::DefaultSrcFileExtName, Luban::Deployment::Package::Installer::LibExtensions
Constants included from Luban::Deployment::Parameters::Application
Luban::Deployment::Parameters::Application::DefaultLogrotateInterval, Luban::Deployment::Parameters::Application::DefaultLogrotateMaxAge
Constants included from Luban::Deployment::Parameters::General
Luban::Deployment::Parameters::General::DefaultLubanRootPath
Constants included from Helpers::Utils
Instance Attribute Summary collapse
-
#opt_dirs ⇒ Object
readonly
Returns the value of attribute opt_dirs.
Attributes inherited from Luban::Deployment::Package::Installer
#build_env_vars, #configure_opts
Attributes inherited from Worker::Base
Attributes included from Helpers::Utils
Attributes included from Helpers::Configuration
Instance Method Summary collapse
- #gem_executable ⇒ Object
- #install_doc? ⇒ Boolean
- #install_tcl? ⇒ Boolean
- #install_tk? ⇒ Boolean
- #installed? ⇒ Boolean
- #source_repo ⇒ Object
- #source_url_root ⇒ Object
- #with_opt_dir(dir) ⇒ Object (also: #with_openssl_dir, #with_yaml_dir)
Methods inherited from Luban::Deployment::Package::Installer
#build_path, #cached?, #cleanup_all, #configure_executable, #current_configured?, #current_package_version, #current_symlinked?, #currently_used_by, #default_configure_opts, #download, #download_url, #downloaded?, #get_summary, #include_path, #install, #install_log_file_name, #install_log_file_path, #install_log_path, #lib_path, #required_packages, #src_cache_path, #src_file_extname, #src_file_md5, #src_file_name, #src_file_path, #src_md5_file_path, #uninstall, #update_binstubs, #validate_download_url, #whence_origin, #which_current
Methods inherited from Luban::Deployment::Package::Worker
#bin_path, #child?, #current_bin_path, #current_path, define_executable, #install_path, package_class, #package_downloads_path, #package_path, #package_tmp_path, #package_versions_path, #parent, worker_class
Methods included from Worker::Paths::Remote
#app_archives_path, #app_bin_path, #app_path, #app_tmp_path, #archived_logs_path, #archives_path, #current_app_path, #downloads_path, #env_path, #envrc_file, #luban_install_path, #package_bin_path, #package_install_path, #project_path, #releases_path, #shared_path, #tmp_path, #unset_envrc_file
Methods inherited from Worker::Base
#dry_run?, #force?, #initialize, #linux?, #method_missing, #osx?, #packages, #run, #target_full_name, #target_major_version, #target_name, #target_patch_level, #target_version
Methods included from Luban::Deployment::Parameters::Application
#env_name, #logrotate_count, #monitor_itself?, #monitorable?
Methods included from Luban::Deployment::Parameters::Base
Methods included from Luban::Deployment::Parameters::Project
#monitor_defined?, #process_monitor_via
Methods included from Luban::Deployment::Parameters::General
Methods included from Helpers::Utils
#assure, #assure_dirs, #assure_symlink, #capture, #check_pass?, #chmod, #cp, #directory?, #exists?, #file?, #hardware_name, #host, #hostname, #ln, #match?, #md5_for, #md5_for_dir, #md5_for_file, #md5_matched?, #mkdir, #mv, #now, #os_name, #os_release, #readlink, #render_template, #revision_match?, #rm, #rmdir, #sudo, #symlink?, #touch, #truncate, #upload_by_template, #url_exists?, #user_home
Methods included from Helpers::Configuration
#ask, #fetch, #find_template_file, #load_configuration_file, #primary, #release_roles, #role, #roles, #server, #set, #set_default, #syntax_error?
Constructor Details
This class inherits a constructor from Luban::Deployment::Worker::Base
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Luban::Deployment::Worker::Base
Instance Attribute Details
#opt_dirs ⇒ Object (readonly)
Returns the value of attribute opt_dirs.
84 85 86 |
# File 'lib/luban/deployment/packages/ruby.rb', line 84 def opt_dirs @opt_dirs end |
Instance Method Details
#gem_executable ⇒ Object
100 101 102 |
# File 'lib/luban/deployment/packages/ruby.rb', line 100 def gem_executable @gem_executable ||= bin_path.join('gem') end |
#install_doc? ⇒ Boolean
86 87 88 |
# File 'lib/luban/deployment/packages/ruby.rb', line 86 def install_doc? task.opts.install_doc end |
#install_tcl? ⇒ Boolean
90 91 92 |
# File 'lib/luban/deployment/packages/ruby.rb', line 90 def install_tcl? task.opts.install_tcl end |
#install_tk? ⇒ Boolean
94 95 96 |
# File 'lib/luban/deployment/packages/ruby.rb', line 94 def install_tk? task.opts.install_tk end |
#installed? ⇒ Boolean
112 113 114 115 116 117 118 119 |
# File 'lib/luban/deployment/packages/ruby.rb', line 112 def installed? return false unless file?(ruby_executable) pattern = Regexp.escape(package_major_version) unless package_patch_level.empty? pattern += ".*#{Regexp.escape(package_patch_level)}" end match?("#{ruby_executable} -v", Regexp.new(pattern)) end |
#source_repo ⇒ Object
104 105 106 |
# File 'lib/luban/deployment/packages/ruby.rb', line 104 def source_repo @source_repo ||= "https://cache.ruby-lang.org" end |
#source_url_root ⇒ Object
108 109 110 |
# File 'lib/luban/deployment/packages/ruby.rb', line 108 def source_url_root @source_url_root ||= "pub/ruby/#{package_major_version.gsub(/\.\d+$/, '')}" end |
#with_opt_dir(dir) ⇒ Object Also known as: with_openssl_dir, with_yaml_dir
121 122 123 |
# File 'lib/luban/deployment/packages/ruby.rb', line 121 def with_opt_dir(dir) @opt_dirs << dir end |