Sha256: 0a6cdc2b4c3f1b2185f74d829ca5f8308c6ae3f07c8ce9431007ee7d696f8a5d

Contents?: true

Size: 645 Bytes

Versions: 1

Compression:

Stored size: 645 Bytes

Contents

module Caco::Debian
  class PackageInstall < Trailblazer::Operation
    class PackageNameError < StandardError; end

    step Subprocess(Caco::Debian::PackageInstalled),
      id: "package_installed?",
      input: [:package],
      output: []

    fail Subprocess(Caco::Executer),
      Output(:success) => End(:success),
      input: ->(_ctx, package:, **) {{
        command: "apt-get install -y #{package}"
      }},
      output: { exit_code: :package_install_exit_code, output: :package_install_output },
      id: "package_install"

    step ->(ctx, **) { ctx[:already_installed] = true },
      id: :package_already_installed!
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
caco-0.1.0 lib/caco/debian/package_install.rb