Sha256: ec4dae2a131a6a4407d127b534c51e19179640b3a3139d54270d23c72b7d8a1a

Contents?: true

Size: 906 Bytes

Versions: 43

Compression:

Stored size: 906 Bytes

Contents

module Sprinkle
  module Installers
    # = Deb Package Installer
    #
    # The Deb installer installs deb packages sourced from a remote URL
    # 
    # == Example Usage
    #
    # Installing the magic_beans deb.
    #
    #   package :magic_beans do
    #     deb 'http://debs.example.com/magic_beans.deb'
    #   end
    #
    class Deb < Installer
      attr_accessor :packages #:nodoc:

      def initialize(parent, packages, &block) #:nodoc:
        super parent, &block
        packages = [packages] unless packages.is_a? Array
        @packages = packages
      end

      protected

        def install_commands #:nodoc:
          "wget -cq --directory-prefix=/tmp #{@packages.join(' ')}; dpkg -i #{@packages.collect{|p| "/tmp/#{package_name(p)}"}.join(" ")}"
        end
        
      private
      
        def package_name(url)
          url.split('/').last
        end

    end
  end
end

Version data entries

43 entries across 43 versions & 10 rubygems

Version Path
sprinkle-0.2.2 lib/sprinkle/installers/deb.rb
sprinkle-0.1.9 lib/sprinkle/installers/deb.rb
sprinkle-0.2.1 lib/sprinkle/installers/deb.rb