module Linecook::Packager

Public Instance Methods

package(image, name: 'packer', directory: nil) click to toggle source
# File lib/linecook-gem/packager.rb, line 12
def package(image, name: 'packer', directory: nil)
  image.fetch
  provider(name.to_sym).package(image, directory)
end

Private Instance Methods

provider(name) click to toggle source
# File lib/linecook-gem/packager.rb, line 18
def provider(name)
  config = Linecook.config[:packager][name]
  case name
  when :packer
    Linecook::AmiPacker.new(**config)
  when :squashfs
    Linecook::Squashfs.new(**config)
  else
    fail "No packager implemented for for #{name}"
  end
end