def os_requirements=(new_val)
      ### nil should be an empty array
      new_val = [] if new_val.to_s.empty?

      ### if any value starts with >=, expand it
      case new_val
      when String
        new_val = JSS.expand_min_os(new_val) if new_val =~ /^>=/
      when Array
        new_val.map! { |a| a =~ /^>=/ ? JSS.expand_min_os(a) : a }
        new_val.flatten!
        new_val.uniq!
      else
        raise JSS::InvalidDataError, 'os_requirements must be a String or an Array of strings'
      end # case

      ### get the array version
      @os_requirements = JSS.to_s_and_a(new_val)[:arrayform]
      @need_to_update = true
    end
def os_requirements=(new_val)
      ### nil should be an empty array
      new_val = [] if new_val.to_s.empty?

      ### if any value starts with >=, expand it
      case new_val
      when String
        new_val = JSS.expand_min_os(new_val) if new_val =~ /^>=/
      when Array
        new_val.map! { |a| a =~ /^>=/ ? JSS.expand_min_os(a) : a }
        new_val.flatten!
        new_val.uniq!
      else
        raise JSS::InvalidDataError, 'os_requirements must be a String or an Array of strings'
      end # case

      ### get the array version
      @os_requirements = JSS.to_s_and_a(new_val)[:arrayform]
      @need_to_update = true
    end
name=
 Change the os_requirements

 Minumum OS's can be specified as a string using the notation ">=10.6.7"
 See the {JSS.expand_min_os} method for details.

 @param new_val[String, Array<String>] the new os requirements as a comma-separted String or an Array of Strings

 @return [void]

 @example String value
   myscript.os_requirements "10.5, 10.5.3, 10.6.x"

 @example Array value
   ok_oses = ['10.5', '10.5.3', '10.6.x']
   myscript.os_requirements ok_oses

 @example Minimum OS
   myscript.os_requirements ">=10.7.5"