def validate_options(options = {})
      base_unity_url = options.fetch(:base_unity_url, @base_unity_url)
      username = options.fetch(:username, @username)
      password = options.fetch(:password, @password)
      appname = options.fetch(:appname, @appname)

      raise ArgumentError, 'base_unity_url can not be nil' if base_unity_url.nil?
      raise ArgumentError, 'username can not be nil' if username.nil?
      raise ArgumentError, 'password can not be nil' if password.nil?
      raise ArgumentError, 'appname can not be nil' if appname.nil?
    end
def validate_options(options = {})
      base_unity_url = options.fetch(:base_unity_url, @base_unity_url)
      username = options.fetch(:username, @username)
      password = options.fetch(:password, @password)
      appname = options.fetch(:appname, @appname)

      raise ArgumentError, 'base_unity_url can not be nil' if base_unity_url.nil?
      raise ArgumentError, 'username can not be nil' if username.nil?
      raise ArgumentError, 'password can not be nil' if password.nil?
      raise ArgumentError, 'appname can not be nil' if appname.nil?
    end
Constructor.

 options::

   - :username - Unity license username __(required)__.
   - :password - Unity license password __(required)__.
   - :appname - Unity license appname __(required)__.
   - :proxy - A string URL pointing to an HTTP proxy (optional, primarily for debugging)
   - :logger - A Ruby object that adheres to the same interface as Logger.
   - :ca_file - A string path for a CA File on the OS (JSON only).
   - :cs_path - A string path for a CA directory (JSON only).
   - :timeout - The number of seconds to set the HTTP response timeout and keepalive timeout (JSON only).
   - :base_unity_url - The URL where a Unity server is located (i.e. https://unity.server.com) __(required)__
 Validates options by ensuring that all required options are present.

 See #initialize.