class EnginePack::Preinstall
Constants
- ENV_VARIABLE_NAME
Attributes
command_runner[R]
package_manager[R]
Public Class Methods
call(engines:)
click to toggle source
# File lib/engine_pack/preinstall.rb, line 14 def call(engines:) new.call(engines: engines) end
new( command_runner: CommandRunner.new, package_manager: PackageManagerFactory.build(EnginePack.config.package_manager) )
click to toggle source
# File lib/engine_pack/preinstall.rb, line 19 def initialize( command_runner: CommandRunner.new, package_manager: PackageManagerFactory.build(EnginePack.config.package_manager) ) @command_runner = command_runner @package_manager = package_manager end
Public Instance Methods
call(engines:)
click to toggle source
# File lib/engine_pack/preinstall.rb, line 27 def call(engines:) return if ENV.fetch(ENV_VARIABLE_NAME, nil) engines.each(&method(:install_engine)) end
Private Instance Methods
install_engine(engine)
click to toggle source
# File lib/engine_pack/preinstall.rb, line 37 def install_engine(engine) engine_package = EnginePackage.new(engine) engine_package.with_path do |path| command_runner.run( package_manager.install_command(path), { ENV_VARIABLE_NAME => '1' } ) end end