class Travis::CLI::Logs

Attributes

delete[RW]
reason[RW]

Public Instance Methods

delete_log(job) click to toggle source
# File lib/travis/cli/logs.rb, line 26
def delete_log(job)
  unless force?
    error "not deleting logs without --force" unless interactive?
    error "aborted" unless danger_zone? "Do you really want to delete the build log for #{color(job.inspect_info, :underline)}?"
  end

  warn "deleting log for #{color(job.inspect_info, [:bold, :info])}"
  job.delete_log(reason || {})
end
display_log(job) click to toggle source
# File lib/travis/cli/logs.rb, line 36
def display_log(job)
  info "displaying logs for #{color(job.inspect_info, [:bold, :info])}"
  return print_log(job.log.body) unless stream?
  job.log.body { |part| print_log(part) }
ensure
  print "\e[0m" if interactive?
end
print_log(part) click to toggle source
run(number = last_build.number) click to toggle source
# File lib/travis/cli/logs.rb, line 20
def run(number = last_build.number)
  self.stream = true if stream.nil?
  job ||= job(number) || error("no such job ##{number}")
  delete ? delete_log(job) : display_log(job)
end
setup() click to toggle source
Calls superclass method
# File lib/travis/cli/logs.rb, line 14
def setup
  super
  check_websocket
end

Private Instance Methods

check_websocket() click to toggle source
# File lib/travis/cli/logs.rb, line 57
def check_websocket
  require 'websocket-native' if stream?
rescue LoadError => e
  raise e if e.respond_to?(:path) and e.path != 'websocket-native'
  info "speed up log streaming by installing the websocket-native gem"
end
job(number) click to toggle source
Calls superclass method
# File lib/travis/cli/logs.rb, line 50
def job(number)
  number = last_build.number + number if number.start_with? '.'
  job    = super(number) || build(number) || branch(number)
  job    = job.jobs.first if job.respond_to? :jobs
  job
end