Sha256: 28cb8c9c35febcf423cb96983330c07f66c7f912fdc1c5c3986abf9c41867245

Contents?: true

Size: 830 Bytes

Versions: 3

Compression:

Stored size: 830 Bytes

Contents

module Pave
  class Files
    include Pave::Shell

    def self.exclusions
      " --exclude 'files/tmp' --exclude 'files/cache' "
    end

    def self.flags
      " -uazh -e ssh --progress "
    end

    def self.clear_cache
      sh "rm -rf ./files/tmp/*; rm -rf ./files/cache/*;"
    end

    def self.push(remote="live")
      server = Pave::Remote.server(remote)
      directory = Pave::Remote.directory(remote)
      sh "rsync #{flags} #{exclusions} ./files/* #{server}:#{directory}/files/*"
    end

    def self.pull(remote="live")
      server = Pave::Remote.server(remote)
      directory = Pave::Remote.directory(remote)
      sh "rsync #{flags} #{exclusions} #{server}:#{directory}/files/* ./files/*"
      clear_cache
    end

    def self.sync(remote="live")
      pull(remote)
      push(remote)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pave-0.14.2 lib/pave/files.rb
pave-0.14.1 lib/pave/files.rb
pave-0.12.0.rc3 lib/pave/files.rb