Sha256: 41114f76dabd8e6874c9d2c09bf3572dc576b20dc67fe9acd6eaf12fb00336b8

Contents?: true

Size: 1.19 KB

Versions: 13

Compression:

Stored size: 1.19 KB

Contents

module Sprinkle
  module Installers
    # Beware, strange "installer" coming your way.
    #
    # = Text configuration installer
    #
    # This installer pushes simple configuration into a file.
    # 
    # == Example Usage
    #
    # Installing magic_beans into apache2.conf
    #
    #   package :magic_beans do
    #     push_text 'magic_beans', '/etc/apache2/apache2.conf'
    #   end
    #
    # If you user has access to 'sudo' and theres a file that requires
    # privileges, you can pass :sudo => true 
    #
    #   package :magic_beans do
    #     push_text 'magic_beans', '/etc/apache2/apache2.conf', :sudo => true
    #   end
    #
    # A special verify step exists for this very installer
    # its known as file_contains, it will test that a file indeed
    # contains a substring that you send it.
    #
    class PushText < Installer
      attr_accessor :text, :path #:nodoc:

      def initialize(parent, text, path, options={}, &block) #:nodoc:
        super parent, options, &block
        @text = text
        @path = path
      end

      protected

        def install_commands #:nodoc:
          "echo '#{@text}' |#{'sudo' if option?(:sudo)} tee -a #{@path}"
        end

    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
lachlan-sprinkle-0.0.1 lib/sprinkle/installers/push_text.rb
lachlan-sprinkle-0.0.10 lib/sprinkle/installers/push_text.rb
lachlan-sprinkle-0.0.11 lib/sprinkle/installers/push_text.rb
lachlan-sprinkle-0.0.13 lib/sprinkle/installers/push_text.rb
lachlan-sprinkle-0.0.14 lib/sprinkle/installers/push_text.rb
lachlan-sprinkle-0.0.2 lib/sprinkle/installers/push_text.rb
lachlan-sprinkle-0.0.3 lib/sprinkle/installers/push_text.rb
lachlan-sprinkle-0.0.4 lib/sprinkle/installers/push_text.rb
lachlan-sprinkle-0.0.5 lib/sprinkle/installers/push_text.rb
lachlan-sprinkle-0.0.6 lib/sprinkle/installers/push_text.rb
lachlan-sprinkle-0.0.7 lib/sprinkle/installers/push_text.rb
lachlan-sprinkle-0.0.8 lib/sprinkle/installers/push_text.rb
lachlan-sprinkle-0.0.9 lib/sprinkle/installers/push_text.rb