module Riffer::Rig::SDK
Public Instance Methods
(String gem, String requirement, host: Riffer::Rig::Hosts::_Host, ?installer: singleton(Gem), ?specs: singleton(Gem::Specification), ?bundled: bool) → String?
Source
# File lib/riffer/rig/sdk.rb, line 32 def ensure(gem, requirement, host:, installer: Gem, specs: Gem::Specification, bundled: !defined?(Bundler).nil?) return nil if installed?(gem, requirement, specs) && require_gem(gem) return format(BUNDLER_MESSAGE, gem, gem, requirement) if bundled confirmed = host.capabilities.include?(:confirm) && host.confirm(format(CONFIRM_QUESTION, gem)) return format(DECLINED_MESSAGE, gem, gem, requirement) unless confirmed failure = install(gem, requirement, host: host, installer: installer) return failure if failure return nil if require_gem(gem) format(FAILED_MESSAGE, gem) end
@rbs gem: String @rbs requirement: String @rbs host: Riffer::Rig::Hosts::_Host @rbs installer: singleton(Gem) @rbs specs: singleton(Gem::Specification) @rbs bundled: bool @rbs return: String?