Sha256: 87285bec199ccca1e193ab25d32aafa7e72a42c2e95179a0aa8ea18902e07b3a

Contents?: true

Size: 749 Bytes

Versions: 1

Compression:

Stored size: 749 Bytes

Contents

module Errdo
  class Exception

    def initialize(env)
      user_parser = Errdo::Models::UserParser.new(env)
      @env_parser = Errdo::Models::ErrorEnvParser.new(env, user_parser)
      error = create_errors(@env_parser) unless Errdo.error_name.blank?
      send_slack_notification(error, @env_parser)
    end

    private

    def create_errors(parser)
      error = Errdo::Error.find_or_create(parser.error_hash)
      error.try(:error_occurrences).try(:create, parser.error_occurrence_hash)
      return error
    end

    def send_slack_notification(error, parser)
      if Errdo.slack_notifier
        messager = Errdo::Models::SlackMessager.new(error, parser)
        Errdo.slack_notifier.ping messager.message
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
errdo-0.9.0 app/models/errdo/exception.rb