Class: CloudInit::Userdata::ShellScript

Inherits:
CloudInit::Userdata show all
Defined in:
lib/cloudinit_userdata/formats/shell_script.rb

Constant Summary collapse

SHEBANG =
'#!'.freeze
SHEBANG_REGEXP =
/^#!\S.+\n/
MIMETYPES =
%w(text/x-shellscript).freeze

Constants inherited from CloudInit::Userdata

VERSION

Instance Attribute Summary

Attributes inherited from CloudInit::Userdata

#raw

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from CloudInit::Userdata

#empty?, #initialize, parse, register_format, #valid?

Constructor Details

This class inherits a constructor from CloudInit::Userdata

Class Method Details

.match?(value) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/cloudinit_userdata/formats/shell_script.rb', line 15

def self.match?(value)
  value.start_with?(SHEBANG)
end

.mimetypesObject



19
20
21
# File 'lib/cloudinit_userdata/formats/shell_script.rb', line 19

def self.mimetypes
  MIMETYPES
end

Instance Method Details

#validateObject

Raises:



10
11
12
13
# File 'lib/cloudinit_userdata/formats/shell_script.rb', line 10

def validate
  return if raw =~ SHEBANG_REGEXP
  raise InvalidUserdata, 'Script is not a properly formatted to call an executable on line 1'
end