class Sle2Docker::Cli

Entry point of the command line interface

Public Instance Methods

activate(image_name = nil) click to toggle source
# File lib/sle2docker/cli.rb, line 33
def activate(image_name = nil)
  ensure_can_access_dockerd
  if options['all']
    activate_all(options)
  elsif !image_name.nil?
    activate_image(image_name, options)
  else
    puts 'You have to specify an image name.'
    exit 1
  end
end
list() click to toggle source
# File lib/sle2docker/cli.rb, line 7
def list
  puts 'Available pre-built images:'
  images = RootFSImage.list + NativeImage.list
  if images.empty?
    puts 'No pre-built image found.'
    puts "\nPre-built images can be installed from SLE12 Update " \
      'repository using zypper:'
    puts '  zypper install \"sle*-docker-image\"'
  else
    images.each { |image| puts " - #{image}" }
  end
end
version() click to toggle source
# File lib/sle2docker/cli.rb, line 47
def version
  puts Sle2Docker::VERSION
end

Private Instance Methods

activate_all(options) click to toggle source
# File lib/sle2docker/cli.rb, line 53
def activate_all(options)
  images = RootFSImage
           .list.map { |img| Sle2Docker::RootFSImage.new(img, options) }
  images += NativeImage
            .list.map { |img| Sle2Docker::NativeImage.new(img, options) }
  activate_images(images)
end
activate_image(image_name, options) click to toggle source
# File lib/sle2docker/cli.rb, line 61
def activate_image(image_name, options)
  if RootFSImage.list.include?(image_name)
    activate_images([Sle2Docker::RootFSImage.new(image_name, options)])
  elsif NativeImage.list.include?(image_name)
    activate_images([Sle2Docker::NativeImage.new(image_name, options)])
  else
    puts 'You have to specify an existing image name.'
    exit 1
  end
end
activate_images(images) click to toggle source
# File lib/sle2docker/cli.rb, line 77
def activate_images(images)
  images.each do |image|
    if image.activated?
      warn "Image '#{image.image_id}' has already been activated."
    else
      image.activate
      puts "#{image.image_id} activated"
    end
  end
end
ensure_can_access_dockerd() click to toggle source
# File lib/sle2docker/cli.rb, line 72
def ensure_can_access_dockerd
  output = `docker info 2>&1`
  raise output if $CHILD_STATUS.exitstatus.nonzero?
end