Sha256: b7e8e9c4628ca9575dfd92eb57a0319a32b8ff8b8fa3662b1170d3726ca6779f

Contents?: true

Size: 1.01 KB

Versions: 5

Compression:

Stored size: 1.01 KB

Contents

require 'fileutils'

module Capsaicin
  module Files
    module Local

      include FileUtils::Verbose

      public *COMMANDS.flatten
      public :pwd

      FILE_TESTS.each do |m,t|
        class_eval <<-EODEF, __FILE__, __LINE__
          def #{m}(a, options={})
            logger.trace "test #{t} \#{a.gsub ' ', '\\ '}" if logger 
            File.#{m} a
          end
        EODEF
      end

      def tail_f(file, n=10)
        unless defined? File::Tail::Logfile then gem 'file-tail'; require 'file/tail' end
        File::Tail::Logfile.tail(file, :backward=>n) do |line| puts line end
      rescue Interrupt
        logger.trace "interrupted (Ctrl-C)" if logger
      end

      def upload(from, to)
        cp from, to
      end

      def download(from, to)
        cp from, to
      end

      def cd(dir, options={})
        if block_given?
          dir, dir2 = pwd, dir
          cd dir2
          yield
        end  
        cd dir
      end

    end
  end
end

Capistrano.plugin :local_files, Capsaicin::Files::Local

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
joekhoobyar-capsaicin-0.1.0 lib/capsaicin/files/local.rb
joekhoobyar-capsaicin-0.1.1 lib/capsaicin/files/local.rb
joekhoobyar-capsaicin-0.1.2 lib/capsaicin/files/local.rb
joekhoobyar-capsaicin-0.1.3 lib/capsaicin/files/local.rb
capsaicin-0.1.2 lib/capsaicin/files/local.rb