def script_contents=(new_val)
      new_code = case new_val
                 when String
                   if new_val.start_with? '/'
                     Pathname.new(new_val).read
                   else
                     new_val
                   end # if
                 when Pathname
                   new_val.read
                 else
                   raise JSS::InvalidDataError, 'New code must be a String (path or code) or Pathname instance'
                 end # case

      raise JSS::InvalidDataError, "Script contents must start with '#!'" unless new_code.start_with? '#!'

      @script_contents = new_code
      @need_to_update = true
    end
def script_contents=(new_val)
      new_code = case new_val
                 when String
                   if new_val.start_with? '/'
                     Pathname.new(new_val).read
                   else
                     new_val
                   end # if
                 when Pathname
                   new_val.read
                 else
                   raise JSS::InvalidDataError, 'New code must be a String (path or code) or Pathname instance'
                 end # case

      raise JSS::InvalidDataError, "Script contents must start with '#!'" unless new_code.start_with? '#!'

      @script_contents = new_code
      @need_to_update = true
    end
Change the executable code of this script.

 If the arg is a Pathname instance, or a String starting with "/"
 Then the arg is assumed to be a file from which to read the code.

 Otherwise it should be a String with the code itself, and it must start with '#!"

 After doing this, use {#create} or {#update} to write it to the database or
 use {#upload_master_file} to save it to the master dist. point.

 @param new_val[String,Pathname] the new script contents or a path to a file containing it.

 @return [void]