   constructor: (settings) ->
     # first check if sentry dsn is set as environment variable
     @_parseDSN(process.env.SENTRY_DSN or "")
-    
+
     # credentials are updated if explicitly passed in
     if settings?
       if _(settings).isString()

      else
        @enabled = false
        @disable_message = "Sentry client expected String or Object as argument. You passed: #{settings}."
      
    _(@).defaults
      hostname: os.hostname()
      enable_env: ['production']
    return
    
  error: (err, message, logger, extra) =>
    unless err instanceof Error
      console.error 'error must be an instance of Error', err

  _send: (data) =>
    unless @enabled
      return console.log @disable_message

    unless process.env.NODE_ENV in @enable_env
      return console.log "If #{process.env.NODE_ENV} was enabled, would have sent to Sentry:", data

    # If you send data.logger and it's not a string, Sentry tells you that it succeeded and sends
    # you an event ID, Sentry doesn't actually do anything and the event ID that they give you
    # is nonexistant. #dealwithit
    if data.logger?
      unless _(data.logger).isString()
        return console.log "Logger just be a string, was #{JSON.stringify data.logger}"

    options =
      uri: "https://app.getsentry.com/api/#{@project_id}/store/"
