class Bundler::ParallelInstaller::SpecInstallation
def all_dependencies
def all_dependencies @spec.dependencies end
def dependencies
Represents only the non-development dependencies, the ones that are
def dependencies @dependencies ||= begin all_dependencies.reject {|dep| ignorable_dependency? dep } end end
def dependencies_installed?(all_specs)
Checks installed dependencies against spec's dependencies to make
def dependencies_installed?(all_specs) installed_specs = all_specs.select(&:installed?).map(&:name) dependencies.all? {|d| installed_specs.include? d.name } end
def enqueued?
def enqueued? state == :enqueued end
def failed?
def failed? state == :failed end
def has_post_install_message?
def has_post_install_message? !post_install_message.empty? end
def ignorable_dependency?(dep)
def ignorable_dependency?(dep) dep.type == :development || dep.name == @name end
def initialize(spec)
def initialize(spec) @spec = spec @name = spec.name @state = :none @post_install_message = "" @error = nil end
def installation_attempted?
def installation_attempted? installed? || failed? end
def installed?
def installed? state == :installed end
def missing_lockfile_dependencies(all_spec_names)
def missing_lockfile_dependencies(all_spec_names) deps = all_dependencies.reject {|dep| ignorable_dependency? dep } deps.reject {|dep| all_spec_names.include? dep.name } end
def ready_to_enqueue?
def ready_to_enqueue? !enqueued? && !installation_attempted? end
def to_s
def to_s "#<#{self.class} #{@spec.full_name} (#{state})>" end