Class: EC2::Platform::Linux::Tar::Command

Inherits:
Object
  • Object
show all
Defined in:
lib/ec2/platform/linux/tar.rb

Direct Known Subclasses

Solaris::Tar::Command

Constant Summary collapse

EXECUTABLE =
EC2::Platform::Linux::Constants::Utility::TAR

Instance Method Summary collapse

Constructor Details

#initialize(e = EXECUTABLE) ⇒ Command

Returns a new instance of Command.



18
19
20
21
22
# File 'lib/ec2/platform/linux/tar.rb', line 18

def initialize(e = EXECUTABLE)
  @files   = []
  @options = []
  @executable = e
end

Instance Method Details

#add(filename, dir = nil) ⇒ Object



56
57
58
59
60
# File 'lib/ec2/platform/linux/tar.rb', line 56

def add(filename, dir = nil)
  item = dir.nil? ? filename : "-C #{dir} #{filename}"
  @files << item
  self
end

#archive(filename) ⇒ Object



35
36
37
38
39
# File 'lib/ec2/platform/linux/tar.rb', line 35

def archive(filename)
  filename = '-' if filename.nil? 
  @options << "-f #{filename}"
  self
end

#bzip2Object



27
# File 'lib/ec2/platform/linux/tar.rb', line 27

def bzip2;          @options << '-j';          self; end

#chdir(dir) ⇒ Object



51
52
53
54
# File 'lib/ec2/platform/linux/tar.rb', line 51

def chdir(dir)
  @options << "-C #{dir}" unless dir.nil?
  self
end

#createObject



26
# File 'lib/ec2/platform/linux/tar.rb', line 26

def create;         @options << '-c';          self; end

#dereferenceObject



33
# File 'lib/ec2/platform/linux/tar.rb', line 33

def dereference;    @options << '-h';          self; end

#diffObject



28
# File 'lib/ec2/platform/linux/tar.rb', line 28

def diff;           @options << '-d';          self; end

#expandObject



61
62
63
# File 'lib/ec2/platform/linux/tar.rb', line 61

def expand
  "#{@executable} #{@options.join(' ')} #{@files.join(' ')}".strip            
end

#extractObject



30
# File 'lib/ec2/platform/linux/tar.rb', line 30

def extract;        @options << '-x';          self; end

#group(grp) ⇒ Object



46
47
48
49
# File 'lib/ec2/platform/linux/tar.rb', line 46

def group(grp)
  @options << "--group #{grp}"
  self
end

#gzipObject



29
# File 'lib/ec2/platform/linux/tar.rb', line 29

def gzip;           @options << '-z';          self; end

#owner(user) ⇒ Object



41
42
43
44
# File 'lib/ec2/platform/linux/tar.rb', line 41

def owner(user)
  @options << "--owner #{user}"
  self
end

#sparseObject



32
# File 'lib/ec2/platform/linux/tar.rb', line 32

def sparse;         @options << '-S';          self; end

#updateObject



31
# File 'lib/ec2/platform/linux/tar.rb', line 31

def update;         @options << '-u';          self; end

#verboseObject



25
# File 'lib/ec2/platform/linux/tar.rb', line 25

def verbose;        @options << '-v';          self; end

#versionObject



24
# File 'lib/ec2/platform/linux/tar.rb', line 24

def version;        @options << '--version';   self; end