class Autoproj::CLI::Update::AskUpdateFilter
Public Class Methods
new(prompt, parallel: 1, only_local: false)
click to toggle source
# File lib/autoproj/cli/update.rb, line 201 def initialize(prompt, parallel: 1, only_local: false) @prompt = prompt @only_local = only_local @executor = Concurrent::FixedThreadPool.new(parallel, max_length: 0) @parallel = parallel @futures = {} @lookahead_queue = [] end
Public Instance Methods
call(pkg)
click to toggle source
# File lib/autoproj/cli/update.rb, line 211 def call(pkg) unless (status = @futures.delete(pkg).value) raise v.reason end clean = !status.unexpected && (status.sync || (status.local && !status.remote)) if clean msg = Autobuild.color("already up-to-date", :green) pkg.autobuild.message "#{msg} %s" return false end Autobuild.progress_display_synchronize do status.msg.each { |m| puts m } @prompt.yes?("Update #{pkg.name} ?") end end
lookahead(pkg)
click to toggle source
# File lib/autoproj/cli/update.rb, line 230 def lookahead(pkg) @futures[pkg] = Concurrent::Promises.future_on(@executor) do Status.status_of_package( pkg, snapshot: false, only_local: @only_local ) end end