Class: Installer::Shebang

Inherits:
Object show all
Defined in:
lib/roebe/setup/setup.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cmd, args = []) ⇒ Shebang

Returns a new instance of Shebang.



1388
1389
1390
1391
# File 'lib/roebe/setup/setup.rb', line 1388

def initialize(cmd, args = [])
  @cmd = cmd
  @args = args
end

Instance Attribute Details

#argsObject (readonly)

Returns the value of attribute args.



1394
1395
1396
# File 'lib/roebe/setup/setup.rb', line 1394

def args
  @args
end

#cmdObject (readonly)

Returns the value of attribute cmd.



1393
1394
1395
# File 'lib/roebe/setup/setup.rb', line 1393

def cmd
  @cmd
end

Class Method Details

.load(path) ⇒ Object



1374
1375
1376
1377
1378
1379
1380
1381
# File 'lib/roebe/setup/setup.rb', line 1374

def Shebang.load(path)
  line = nil
  File.open(path) {|f|
    line = f.gets
  }
  return nil unless /\A#!/ =~ line
  parse(line)
end

.parse(line) ⇒ Object



1383
1384
1385
1386
# File 'lib/roebe/setup/setup.rb', line 1383

def Shebang.parse(line)
  cmd, *args = *line.strip.sub(/\A\#!/, '').split(' ')
  new(cmd, args)
end

Instance Method Details

#to_sObject



1396
1397
1398
# File 'lib/roebe/setup/setup.rb', line 1396

def to_s
  "#! #{@cmd}" + (@args.empty? ? '' : " #{@args.join(' ')}")
end