rnotifier 0.0.9 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.travis.yml +11 -0
 - data/Gemfile +1 -0
 - data/README.md +7 -4
 - data/lib/rnotifier/config.rb +15 -2
 - data/lib/rnotifier/event_data.rb +31 -0
 - data/lib/rnotifier/exception_code.rb +4 -1
 - data/lib/rnotifier/exception_data.rb +2 -5
 - data/lib/rnotifier/notifier.rb +8 -5
 - data/lib/rnotifier/version.rb +1 -1
 - data/lib/rnotifier.rb +7 -2
 - data/spec/event_data_spec.rb +29 -0
 - data/spec/fixtures/fake_app.rb +1 -0
 - data/spec/rack_middleware_spec.rb +4 -4
 - data/spec/spec_helper.rb +8 -11
 - metadata +6 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 7fdda4804509a222da3da5cb876ec831a829659c
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 1b6b2be167646512fd9078ecbd2c711a933d572f
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 98a2cde857b4e00ef0a5fbd0a8a710c5c5563c07a81f5f8c081f634514ce9e684938df5a9915aa3f8ad2c8afb30008169dd36457294f4626c0dfa192e96133bf
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: e76ebcfd6889c2d0ac0a3ae2f8da50e986f85286f742b2caffe79ea000f8702d7e0957b782ec63b01624862bfec2fd9eebc87c9ec70203379ff0e4d96a6e0ebc
         
     | 
    
        data/.travis.yml
    ADDED
    
    
    
        data/Gemfile
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | 
         @@ -2,6 +2,9 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            Exception catcher for rack base applications.
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
      
 5 
     | 
    
         
            +
            [](https://travis-ci.org/jiren/rnotifier) 
         
     | 
| 
      
 6 
     | 
    
         
            +
             [](https://coveralls.io/r/jiren/rnotifier?branch=master)
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
       5 
8 
     | 
    
         
             
            ## Installation
         
     | 
| 
       6 
9 
     | 
    
         | 
| 
       7 
10 
     | 
    
         
             
            Add this line to your application's Gemfile:
         
     | 
| 
         @@ -22,13 +25,13 @@ rnotifier install 'API-KEY'  # This will create 'config/rnotifier.yaml' file. 
     | 
|
| 
       22 
25 
     | 
    
         | 
| 
       23 
26 
     | 
    
         
             
            ### Config file options
         
     | 
| 
       24 
27 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
      
 28 
     | 
    
         
            +
                environments: development,test #default is production
         
     | 
| 
      
 29 
     | 
    
         
            +
                capture_code: true             #default false
         
     | 
| 
      
 30 
     | 
    
         
            +
                api_host: 'http://yourapp.com' #default http://rnotifier.com
         
     | 
| 
       28 
31 
     | 
    
         | 
| 
       29 
32 
     | 
    
         
             
            ### To test config
         
     | 
| 
       30 
33 
     | 
    
         | 
| 
       31 
     | 
    
         
            -
            rnotifier test 
     | 
| 
      
 34 
     | 
    
         
            +
                rnotifier test                 #this will send test exception to rnotifier.
         
     | 
| 
       32 
35 
     | 
    
         | 
| 
       33 
36 
     | 
    
         
             
            ## Contributing
         
     | 
| 
       34 
37 
     | 
    
         | 
    
        data/lib/rnotifier/config.rb
    CHANGED
    
    | 
         @@ -4,15 +4,16 @@ module Rnotifier 
     | 
|
| 
       4 
4 
     | 
    
         
             
                  :api_host     => 'http://api.rnotifier.com',
         
     | 
| 
       5 
5 
     | 
    
         
             
                  :api_version  => 'v1', 
         
     | 
| 
       6 
6 
     | 
    
         
             
                  :notify_path  => 'exception',
         
     | 
| 
      
 7 
     | 
    
         
            +
                  :event_path   => 'event',
         
     | 
| 
       7 
8 
     | 
    
         
             
                  :ignore_env   => ['development', 'test'],
         
     | 
| 
       8 
9 
     | 
    
         
             
                  :http_open_timeout => 2,
         
     | 
| 
       9 
10 
     | 
    
         
             
                  :http_read_timeout => 4
         
     | 
| 
       10 
11 
     | 
    
         
             
                }
         
     | 
| 
       11 
12 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
                CLIENT = " 
     | 
| 
      
 13 
     | 
    
         
            +
                CLIENT = "RRG:#{Rnotifier::VERSION}"
         
     | 
| 
       13 
14 
     | 
    
         | 
| 
       14 
15 
     | 
    
         
             
                class << self
         
     | 
| 
       15 
     | 
    
         
            -
                  attr_accessor :api_key, :notification_path, :environments, :current_env, 
         
     | 
| 
      
 16 
     | 
    
         
            +
                  attr_accessor :api_key, :notification_path, :event_path, :environments, :current_env, 
         
     | 
| 
       16 
17 
     | 
    
         
             
                    :valid, :app_env, :api_host, :ignore_exceptions, :capture_code
         
     | 
| 
       17 
18 
     | 
    
         | 
| 
       18 
19 
     | 
    
         
             
                  def [](val)
         
     | 
| 
         @@ -49,6 +50,8 @@ module Rnotifier 
     | 
|
| 
       49 
50 
     | 
    
         
             
                    self.app_env = get_app_env
         
     | 
| 
       50 
51 
     | 
    
         
             
                    self.ignore_exceptions = self.ignore_exceptions.split(',') if self.ignore_exceptions.is_a?(String)
         
     | 
| 
       51 
52 
     | 
    
         | 
| 
      
 53 
     | 
    
         
            +
                    self.event_path = '/' + [DEFAULT[:api_version], DEFAULT[:event_path], self.api_key].join('/')
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
       52 
55 
     | 
    
         
             
                    self.valid = true 
         
     | 
| 
       53 
56 
     | 
    
         
             
                  end
         
     | 
| 
       54 
57 
     | 
    
         | 
| 
         @@ -80,6 +83,16 @@ module Rnotifier 
     | 
|
| 
       80 
83 
     | 
    
         
             
                    (defined?(Rails) && Rails.respond_to?(:root)) ? Rails.root.to_s : Dir.pwd
         
     | 
| 
       81 
84 
     | 
    
         
             
                  end
         
     | 
| 
       82 
85 
     | 
    
         | 
| 
      
 86 
     | 
    
         
            +
                  def event_app_env
         
     | 
| 
      
 87 
     | 
    
         
            +
                    {
         
     | 
| 
      
 88 
     | 
    
         
            +
                      :env => self.current_env,
         
     | 
| 
      
 89 
     | 
    
         
            +
                      :pid => $$,
         
     | 
| 
      
 90 
     | 
    
         
            +
                      :host => (Socket.gethostname rescue ''),
         
     | 
| 
      
 91 
     | 
    
         
            +
                      :language => 'ruby',
         
     | 
| 
      
 92 
     | 
    
         
            +
                      :platform => (RUBY_PLATFORM rescue '')
         
     | 
| 
      
 93 
     | 
    
         
            +
                    }
         
     | 
| 
      
 94 
     | 
    
         
            +
                  end
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
       83 
96 
     | 
    
         
             
                end
         
     | 
| 
       84 
97 
     | 
    
         
             
              end
         
     | 
| 
       85 
98 
     | 
    
         
             
            end
         
     | 
| 
         @@ -0,0 +1,31 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Rnotifier
         
     | 
| 
      
 2 
     | 
    
         
            +
              class EventData
         
     | 
| 
      
 3 
     | 
    
         
            +
                attr_reader :data
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                def initialize(name, data = {})
         
     | 
| 
      
 6 
     | 
    
         
            +
                  @data = {
         
     | 
| 
      
 7 
     | 
    
         
            +
                    :name => name, 
         
     | 
| 
      
 8 
     | 
    
         
            +
                    :data => data,
         
     | 
| 
      
 9 
     | 
    
         
            +
                    :app_env => EventData.app_env,
         
     | 
| 
      
 10 
     | 
    
         
            +
                    :occurred_at => Time.now.utc.to_s,
         
     | 
| 
      
 11 
     | 
    
         
            +
                    :data_from => :event,
         
     | 
| 
      
 12 
     | 
    
         
            +
                    :rnotifier_client => Config::CLIENT,
         
     | 
| 
      
 13 
     | 
    
         
            +
                  }
         
     | 
| 
      
 14 
     | 
    
         
            +
                  @data[:context_data] = Thread.current[:rnotifier_context] if Thread.current[:rnotifier_context]
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                def notify
         
     | 
| 
      
 18 
     | 
    
         
            +
                  begin
         
     | 
| 
      
 19 
     | 
    
         
            +
                    Notifier.send(data, Rnotifier::Config.event_path)
         
     | 
| 
      
 20 
     | 
    
         
            +
                  rescue Exception => e
         
     | 
| 
      
 21 
     | 
    
         
            +
                    Rlogger.error("[EVENT NOTIFY] #{e.message}")
         
     | 
| 
      
 22 
     | 
    
         
            +
                    Rlogger.error("[EVENT NOTIFY] #{e.backtrace}")
         
     | 
| 
      
 23 
     | 
    
         
            +
                  end
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                def self.app_env
         
     | 
| 
      
 27 
     | 
    
         
            +
                  @env ||= Rnotifier::Config.event_app_env 
         
     | 
| 
      
 28 
     | 
    
         
            +
                end
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
              end
         
     | 
| 
      
 31 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -4,7 +4,10 @@ module Rnotifier 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
                  def get(backtrace)
         
     | 
| 
       6 
6 
     | 
    
         
             
                    return unless backtrace
         
     | 
| 
       7 
     | 
    
         
            -
                     
     | 
| 
      
 7 
     | 
    
         
            +
                    bline = backtrace.find do |l| 
         
     | 
| 
      
 8 
     | 
    
         
            +
                      l.index(Config.app_env[:app_root]) == 0 && !Gem.path.any?{|path| l.index(path) == 0}
         
     | 
| 
      
 9 
     | 
    
         
            +
                    end
         
     | 
| 
      
 10 
     | 
    
         
            +
                    filename, line, method = (bline|| backtrace[0]).split(':')
         
     | 
| 
       8 
11 
     | 
    
         
             
                    self.find(filename, line.to_i, 3)
         
     | 
| 
       9 
12 
     | 
    
         
             
                  end
         
     | 
| 
       10 
13 
     | 
    
         | 
| 
         @@ -18,9 +18,8 @@ module Rnotifier 
     | 
|
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
                  begin
         
     | 
| 
       20 
20 
     | 
    
         
             
                    data = options[:type] == :rack ? self.rack_exception_data : {:extra => self.env }
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
21 
     | 
    
         
             
                    data[:app_env] = Rnotifier::Config.app_env
         
     | 
| 
       23 
     | 
    
         
            -
                    data[:occurred_at] = Time.now.to_s
         
     | 
| 
      
 22 
     | 
    
         
            +
                    data[:occurred_at] = Time.now.utc.to_s
         
     | 
| 
       24 
23 
     | 
    
         
             
                    data[:exception] = self.exception_data
         
     | 
| 
       25 
24 
     | 
    
         
             
                    data[:context_data] = Thread.current[:rnotifier_context] if Thread.current[:rnotifier_context]
         
     | 
| 
       26 
25 
     | 
    
         
             
                    data[:data_from] = options[:type]
         
     | 
| 
         @@ -30,10 +29,8 @@ module Rnotifier 
     | 
|
| 
       30 
29 
     | 
    
         
             
                  rescue Exception => e
         
     | 
| 
       31 
30 
     | 
    
         
             
                    Rlogger.error("[NOTIFY] #{e.message}")
         
     | 
| 
       32 
31 
     | 
    
         
             
                    Rlogger.error("[NOTIFY] #{e.backtrace}")
         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
                    Rnotifier.clear_context
         
     | 
| 
      
 32 
     | 
    
         
            +
                    false
         
     | 
| 
       35 
33 
     | 
    
         
             
                  end
         
     | 
| 
       36 
     | 
    
         
            -
                  false
         
     | 
| 
       37 
34 
     | 
    
         
             
                end
         
     | 
| 
       38 
35 
     | 
    
         | 
| 
       39 
36 
     | 
    
         
             
                def rack_exception_data
         
     | 
    
        data/lib/rnotifier/notifier.rb
    CHANGED
    
    | 
         @@ -3,23 +3,26 @@ module Rnotifier 
     | 
|
| 
       3 
3 
     | 
    
         
             
                class << self
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
                  def connection
         
     | 
| 
       6 
     | 
    
         
            -
                    @connection ||= Faraday.new(:url =>  
     | 
| 
      
 6 
     | 
    
         
            +
                    @connection ||= Faraday.new(:url => Config.api_host) do |faraday|
         
     | 
| 
       7 
7 
     | 
    
         
             
                      faraday.adapter Faraday.default_adapter  
         
     | 
| 
       8 
8 
     | 
    
         
             
                    end
         
     | 
| 
       9 
9 
     | 
    
         
             
                  end
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
                  def send(data)
         
     | 
| 
      
 11 
     | 
    
         
            +
                  def send(data, url = nil)
         
     | 
| 
       12 
12 
     | 
    
         
             
                    response = self.connection.post do |req|
         
     | 
| 
       13 
     | 
    
         
            -
                      req.url  
     | 
| 
      
 13 
     | 
    
         
            +
                      req.url(url || Config.notification_path)
         
     | 
| 
       14 
14 
     | 
    
         
             
                      req.headers['Content-Type'] = 'application/json'
         
     | 
| 
       15 
     | 
    
         
            -
                      req. 
     | 
| 
       16 
     | 
    
         
            -
                      req.options[: 
     | 
| 
      
 15 
     | 
    
         
            +
                      req.headers['Api-Key'] = Config.api_key
         
     | 
| 
      
 16 
     | 
    
         
            +
                      req.options[:timeout] =  Config[:http_open_timeout]
         
     | 
| 
      
 17 
     | 
    
         
            +
                      req.options[:open_timeout] = Config[:http_read_timeout]
         
     | 
| 
       17 
18 
     | 
    
         
             
                      req.body =  MultiJson.dump(data)
         
     | 
| 
       18 
19 
     | 
    
         
             
                    end
         
     | 
| 
       19 
20 
     | 
    
         | 
| 
       20 
21 
     | 
    
         
             
                    return true if response.status == 200
         
     | 
| 
       21 
22 
     | 
    
         
             
                    Rlogger.error("[RNOTIFIER SERVER] Response Status:#{response.status}")
         
     | 
| 
       22 
23 
     | 
    
         
             
                    false
         
     | 
| 
      
 24 
     | 
    
         
            +
                  ensure
         
     | 
| 
      
 25 
     | 
    
         
            +
                    Rnotifier.clear_context
         
     | 
| 
       23 
26 
     | 
    
         
             
                  end
         
     | 
| 
       24 
27 
     | 
    
         
             
                end
         
     | 
| 
       25 
28 
     | 
    
         
             
              end
         
     | 
    
        data/lib/rnotifier/version.rb
    CHANGED
    
    
    
        data/lib/rnotifier.rb
    CHANGED
    
    | 
         @@ -9,6 +9,7 @@ require 'rnotifier/config' 
     | 
|
| 
       9 
9 
     | 
    
         
             
            require 'rnotifier/rlogger'
         
     | 
| 
       10 
10 
     | 
    
         
             
            require 'rnotifier/notifier'
         
     | 
| 
       11 
11 
     | 
    
         
             
            require 'rnotifier/exception_data' 
         
     | 
| 
      
 12 
     | 
    
         
            +
            require 'rnotifier/event_data' 
         
     | 
| 
       12 
13 
     | 
    
         
             
            require 'rnotifier/rack_middleware'
         
     | 
| 
       13 
14 
     | 
    
         
             
            require 'rnotifier/parameter_filter'
         
     | 
| 
       14 
15 
     | 
    
         
             
            require 'rnotifier/exception_code'
         
     | 
| 
         @@ -45,8 +46,12 @@ module Rnotifier 
     | 
|
| 
       45 
46 
     | 
    
         
             
                  Thread.current[:rnotifier_context] = nil
         
     | 
| 
       46 
47 
     | 
    
         
             
                end
         
     | 
| 
       47 
48 
     | 
    
         | 
| 
       48 
     | 
    
         
            -
                def  
     | 
| 
       49 
     | 
    
         
            -
                  Rnotifier::ExceptionData.new(exception,  
     | 
| 
      
 49 
     | 
    
         
            +
                def exception(exception, params = {})
         
     | 
| 
      
 50 
     | 
    
         
            +
                  Rnotifier::ExceptionData.new(exception, params, {:type => :rescue}).notify
         
     | 
| 
      
 51 
     | 
    
         
            +
                end
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                def event(name, params = {})
         
     | 
| 
      
 54 
     | 
    
         
            +
                  Rnotifier::EventData.new(name, params).notify if Rnotifier::Config.valid?
         
     | 
| 
       50 
55 
     | 
    
         
             
                end
         
     | 
| 
       51 
56 
     | 
    
         | 
| 
       52 
57 
     | 
    
         
             
              end
         
     | 
| 
         @@ -0,0 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            $:.unshift(File.dirname(__FILE__))
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            describe Rnotifier::EventData do
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
              before(:all) do
         
     | 
| 
      
 7 
     | 
    
         
            +
                rnotifier_init
         
     | 
| 
      
 8 
     | 
    
         
            +
                @name = 'product'
         
     | 
| 
      
 9 
     | 
    
         
            +
                @data = {:id => 1, :name => 'ProductX'}
         
     | 
| 
      
 10 
     | 
    
         
            +
              end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              it 'is initialize exception_data object' do
         
     | 
| 
      
 13 
     | 
    
         
            +
                e_data = Rnotifier::EventData.new(@name, @data)
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                expect(e_data.data[:name]).to eq @name
         
     | 
| 
      
 16 
     | 
    
         
            +
                expect(e_data.data[:data]).to eq @data
         
     | 
| 
      
 17 
     | 
    
         
            +
                expect(e_data.data[:data_from]).to eq :event
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
              it 'sends event data to server' do
         
     | 
| 
      
 21 
     | 
    
         
            +
                path = '/' + [ Rnotifier::Config::DEFAULT[:api_version], Rnotifier::Config::DEFAULT[:event_path], 'API-KEY'].join('/')
         
     | 
| 
      
 22 
     | 
    
         
            +
                stubs = stub_faraday_request({:path => path})
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                Rnotifier::EventData.new(@name, @data).notify
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                expect { stubs.verify_stubbed_calls }.to_not raise_error
         
     | 
| 
      
 27 
     | 
    
         
            +
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            end
         
     | 
    
        data/spec/fixtures/fake_app.rb
    CHANGED
    
    
| 
         @@ -12,11 +12,11 @@ describe Rnotifier::RackMiddleware do 
     | 
|
| 
       12 
12 
     | 
    
         
             
              end
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
              it 'sends get request and catch exception' do
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
      
 15 
     | 
    
         
            +
                get "/exception/1" 
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
      
 17 
     | 
    
         
            +
                expect(last_response.errors.split(/:\n/).first).to eq @type_error 
         
     | 
| 
      
 18 
     | 
    
         
            +
                expect(last_response.status).to eq 500
         
     | 
| 
      
 19 
     | 
    
         
            +
                expect { @stubs.verify_stubbed_calls }.to_not raise_error
         
     | 
| 
       20 
20 
     | 
    
         
             
              end
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
            end
         
     | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ENV['RACK_ENV'] = 'test'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            require 'rubygems'
         
     | 
| 
       2 
4 
     | 
    
         
             
            require 'bundler/setup'
         
     | 
| 
       3 
5 
     | 
    
         
             
            require 'open-uri'
         
     | 
| 
         @@ -5,10 +7,14 @@ require 'rack' 
     | 
|
| 
       5 
7 
     | 
    
         
             
            require 'rack/request'
         
     | 
| 
       6 
8 
     | 
    
         
             
            require 'rack/mock'
         
     | 
| 
       7 
9 
     | 
    
         
             
            require 'rack/test'
         
     | 
| 
       8 
     | 
    
         
            -
            require ' 
     | 
| 
      
 10 
     | 
    
         
            +
            require 'coveralls'
         
     | 
| 
       9 
11 
     | 
    
         | 
| 
      
 12 
     | 
    
         
            +
            $:.unshift(File.dirname(__FILE__) + '/../lib/')
         
     | 
| 
      
 13 
     | 
    
         
            +
            require 'rnotifier'
         
     | 
| 
       10 
14 
     | 
    
         
             
            require File.dirname(__FILE__) + "/fixtures/fake_app"
         
     | 
| 
       11 
15 
     | 
    
         | 
| 
      
 16 
     | 
    
         
            +
            Coveralls.wear!
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
       12 
18 
     | 
    
         
             
            RSpec.configure do |config|
         
     | 
| 
       13 
19 
     | 
    
         
             
              config.color_enabled = true
         
     | 
| 
       14 
20 
     | 
    
         
             
              #config.tty = true
         
     | 
| 
         @@ -20,24 +26,15 @@ RSpec.configure do |config| 
     | 
|
| 
       20 
26 
     | 
    
         
             
              end
         
     | 
| 
       21 
27 
     | 
    
         
             
            end
         
     | 
| 
       22 
28 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
            $:.unshift(File.dirname(__FILE__) + '/../lib/')
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
            ENV['RACK_ENV'] = 'test'
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
            require 'rnotifier'
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
29 
     | 
    
         
             
            def rnotifier_init
         
     | 
| 
       30 
30 
     | 
    
         
             
              ENV['RACK_ENV'] = 'test'
         
     | 
| 
       31 
31 
     | 
    
         
             
              Rnotifier.load_config("#{Dir.pwd}/spec/fixtures/rnotifier.yaml")
         
     | 
| 
       32 
32 
     | 
    
         
             
            end
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
            def set_test_adapter
         
     | 
| 
       35 
     | 
    
         
            -
            end
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
34 
     | 
    
         
             
            def stub_faraday_request(opts = {})
         
     | 
| 
       38 
35 
     | 
    
         
             
              opts[:status] ||= 200
         
     | 
| 
       39 
36 
     | 
    
         
             
              opts[:message] ||= 'ok'
         
     | 
| 
       40 
     | 
    
         
            -
              opts[:path]  
     | 
| 
      
 37 
     | 
    
         
            +
              opts[:path] ||= '/' + [ Rnotifier::Config::DEFAULT[:api_version], Rnotifier::Config::DEFAULT[:notify_path], 'API-KEY'].join('/')
         
     | 
| 
       41 
38 
     | 
    
         | 
| 
       42 
39 
     | 
    
         
             
              stubs = Faraday::Adapter::Test::Stubs.new
         
     | 
| 
       43 
40 
     | 
    
         
             
              conn  = Faraday.new do |builder|
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: rnotifier
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.0 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Jiren Patel
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2013-07- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2013-07-09 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: faraday
         
     | 
| 
         @@ -117,6 +117,7 @@ extensions: [] 
     | 
|
| 
       117 
117 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       118 
118 
     | 
    
         
             
            files:
         
     | 
| 
       119 
119 
     | 
    
         
             
            - .gitignore
         
     | 
| 
      
 120 
     | 
    
         
            +
            - .travis.yml
         
     | 
| 
       120 
121 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       121 
122 
     | 
    
         
             
            - LICENSE.txt
         
     | 
| 
       122 
123 
     | 
    
         
             
            - README.md
         
     | 
| 
         @@ -127,6 +128,7 @@ files: 
     | 
|
| 
       127 
128 
     | 
    
         
             
            - lib/rnotifier.rb
         
     | 
| 
       128 
129 
     | 
    
         
             
            - lib/rnotifier/config.rb
         
     | 
| 
       129 
130 
     | 
    
         
             
            - lib/rnotifier/config_test.rb
         
     | 
| 
      
 131 
     | 
    
         
            +
            - lib/rnotifier/event_data.rb
         
     | 
| 
       130 
132 
     | 
    
         
             
            - lib/rnotifier/exception_code.rb
         
     | 
| 
       131 
133 
     | 
    
         
             
            - lib/rnotifier/exception_data.rb
         
     | 
| 
       132 
134 
     | 
    
         
             
            - lib/rnotifier/notifier.rb
         
     | 
| 
         @@ -138,6 +140,7 @@ files: 
     | 
|
| 
       138 
140 
     | 
    
         
             
            - rnotifier.gemspec
         
     | 
| 
       139 
141 
     | 
    
         
             
            - spec/code.text
         
     | 
| 
       140 
142 
     | 
    
         
             
            - spec/config_spec.rb
         
     | 
| 
      
 143 
     | 
    
         
            +
            - spec/event_data_spec.rb
         
     | 
| 
       141 
144 
     | 
    
         
             
            - spec/exception_code_spec.rb
         
     | 
| 
       142 
145 
     | 
    
         
             
            - spec/exception_data_spec.rb
         
     | 
| 
       143 
146 
     | 
    
         
             
            - spec/fixtures/fake_app.rb
         
     | 
| 
         @@ -172,6 +175,7 @@ summary: Exception catcher for Rails and other Rack apps 
     | 
|
| 
       172 
175 
     | 
    
         
             
            test_files:
         
     | 
| 
       173 
176 
     | 
    
         
             
            - spec/code.text
         
     | 
| 
       174 
177 
     | 
    
         
             
            - spec/config_spec.rb
         
     | 
| 
      
 178 
     | 
    
         
            +
            - spec/event_data_spec.rb
         
     | 
| 
       175 
179 
     | 
    
         
             
            - spec/exception_code_spec.rb
         
     | 
| 
       176 
180 
     | 
    
         
             
            - spec/exception_data_spec.rb
         
     | 
| 
       177 
181 
     | 
    
         
             
            - spec/fixtures/fake_app.rb
         
     |