class Bundler::ParallelInstaller::SpecInstallation
Атрибуты
error[RW]
name[RW]
post_install_message[RW]
spec[RW]
state[RW]
Публичные методы класса
# File lib/bundler/installer/parallel_installer.rb, line 10 def initialize(spec) @spec = spec @name = spec.name @state = :none @post_install_message = "" @error = nil end
Публичные методы экземпляра
# File lib/bundler/installer/parallel_installer.rb, line 68 def all_dependencies @spec.dependencies end
Представляет все зависимости
# File lib/bundler/installer/parallel_installer.rb, line 56
def dependencies
@dependencies ||= begin
all_dependencies.reject {|dep| ignorable_dependency? dep }
end
end Представляет только зависимости, не относящиеся к разработке (те, которые являются сами по себе и находятся в полном списке).
# File lib/bundler/installer/parallel_installer.rb, line 49
def dependencies_installed?(all_specs)
installed_specs = all_specs.select(&:installed?).map(&:name)
dependencies.all? {|d| installed_specs.include? d.name }
end Проверяет установленные зависимости по отношению к зависимостям спецификации, чтобы убедиться, что установлены необходимые зависимости.
# File lib/bundler/installer/parallel_installer.rb, line 22 def enqueued? state == :enqueued end
# File lib/bundler/installer/parallel_installer.rb, line 26 def failed? state == :failed end
# File lib/bundler/installer/parallel_installer.rb, line 39 def has_post_install_message? !post_install_message.empty? end
# File lib/bundler/installer/parallel_installer.rb, line 43 def ignorable_dependency?(dep) dep.type == :development || dep.name == @name end
# File lib/bundler/installer/parallel_installer.rb, line 30 def installation_attempted? installed? || failed? end
# File lib/bundler/installer/parallel_installer.rb, line 18 def installed? state == :installed end
# File lib/bundler/installer/parallel_installer.rb, line 62
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 # File lib/bundler/installer/parallel_installer.rb, line 35 def ready_to_enqueue? !enqueued? && !installation_attempted? end
Истинно только тогда, когда спецификация не установлена и не добавлена в очередь.
# File lib/bundler/installer/parallel_installer.rb, line 72
def to_s
"#<#{self.class} #{@spec.full_name} (#{state})>"
end
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.