crafterm / sprinkle

Sprinkle is a software provisioning tool you can use to build remote servers with. eg. to install a Rails, or Sinatra stack on a brand new slice directly after its been created

This URL has Read+Write access

commit  57e2535df3fe66c630cd9446129bea89cbfcd5d0
tree    fe9cbd6fb37ff2b16620bb767f92174826466529
parent  c4ae194f64bf004988a79bdcfa8d1d81dd190fc0
sprinkle / lib / sprinkle / installers / freebsd_pkg.rb
100644 38 lines (33 sloc) 0.851 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
module Sprinkle
  module Installers
    # = FreeBSD Package Installer
    #
    # The Pkg package installer installs FreeBSD packages.
    #
    # == Example Usage
    #
    # Installing the magic_beans package.
    #
    # package :magic_beans do
    # freebsd_pkg 'magic_beans'
    # end
    #
    # You may also specify multiple packages as an array:
    #
    # package :magic_beans do
    # freebsd_pkg %w(magic_beans magic_sauce)
    # end
    class FreebsdPkg < 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:
          "pkg_add -r #{@packages.join(' ')}"
        end
 
    end
  end
end