class EmbeddedJs::Commands::Preinstall
Constants
- ENV_VARIABLE_NAME
Attributes
command_runner[R]
package_manager[R]
Public Class Methods
call(gems:)
click to toggle source
# File lib/embedded_js/commands/preinstall.rb, line 13 def call(gems:) new.call(gems: gems) end
new( command_runner: Adaptors::CommandRunner.new, package_manager: PackageManagers::Factory.build(EmbeddedJs.config.package_manager) )
click to toggle source
# File lib/embedded_js/commands/preinstall.rb, line 18 def initialize( command_runner: Adaptors::CommandRunner.new, package_manager: PackageManagers::Factory.build(EmbeddedJs.config.package_manager) ) @command_runner = command_runner @package_manager = package_manager end
Public Instance Methods
call(gems:)
click to toggle source
# File lib/embedded_js/commands/preinstall.rb, line 26 def call(gems:) return if ENV.fetch(ENV_VARIABLE_NAME, nil) gems.each(&method(:install_embedded_package)) end
Private Instance Methods
install_embedded_package(gem)
click to toggle source
# File lib/embedded_js/commands/preinstall.rb, line 36 def install_embedded_package(gem) embedded_jsage = GemPackage.new(gem) embedded_jsage.with_path do |path| command_runner.run( package_manager.install_command(path), { ENV_VARIABLE_NAME => '1' } ) end end