Sha256: 15abefe25df33c762ccaa729ecff8154e3a92396e88d0d3e1b0ee8628e58a22b

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

module Sprinkle
  module Actors
    # = Local Delivery Method
    #
    # This actor implementation performs any given commands on your local system, as
    # opposed to other implementations that generally run commands on a remote system
    # via the network.
    #
    # This is useful if you'd like to use Sprinkle to provision your local machine. 
    # To enable this actor, in your Sprinkle script specify the :local delivery mechanism. 
    #
    #   deployment do
    #     delivery :local
    #   end
    #
    # Note, your local machine will be assumed to be a member of all roles when applying policies
    #
    class Local
      
      def process(name, commands, roles, suppress_and_return_failures = false) #:nodoc:
        commands.each do |command|
          command = "cmd.exe /c \"" + command + "\"" if RUBY_PLATFORM =~ /win32/
          system command
          return false if $?.to_i != 0
        end
        return true
      end
      
			def transfer(name, source, destination, roles, recursive = true, suppress_and_return_failures = false)
				if recursive
					flags = "-R "
				end
				
				system "cp #{flags}#{source} #{destination}"
			end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lachlan-sprinkle-0.0.15 lib/sprinkle/actors/local.rb
lachlan-sprinkle-0.0.16 lib/sprinkle/actors/local.rb