Class: Installer::Shebang

Inherits:
Object show all
Defined in:
lib/gems/xmpp4r-0.4/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.



1324
1325
1326
1327
# File 'lib/gems/xmpp4r-0.4/setup.rb', line 1324

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

Instance Attribute Details

#argsObject (readonly)

Returns the value of attribute args.



1330
1331
1332
# File 'lib/gems/xmpp4r-0.4/setup.rb', line 1330

def args
  @args
end

#cmdObject (readonly)

Returns the value of attribute cmd.



1329
1330
1331
# File 'lib/gems/xmpp4r-0.4/setup.rb', line 1329

def cmd
  @cmd
end

Class Method Details

.load(path) ⇒ Object



1310
1311
1312
1313
1314
1315
1316
1317
# File 'lib/gems/xmpp4r-0.4/setup.rb', line 1310

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

.parse(line) ⇒ Object



1319
1320
1321
1322
# File 'lib/gems/xmpp4r-0.4/setup.rb', line 1319

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

Instance Method Details

#to_sObject



1332
1333
1334
# File 'lib/gems/xmpp4r-0.4/setup.rb', line 1332

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