rollbar 2.11.4 → 2.11.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1949eb5f439a279954e6866534c8d7acf4499421
4
- data.tar.gz: d8ba4a67a39ab23e32af45f973fa53864328864c
3
+ metadata.gz: 6edb7fcbd4c4ffc66f2451d062c827adefd22616
4
+ data.tar.gz: 601ce3760bb0f43db2ccd5be4ab277675ff1df59
5
5
  SHA512:
6
- metadata.gz: 4303f9cd437d8611c5f47e1a014ea686982bee5e2cf7b4c4ca7e266506fb3b9389e7d37acec011224e28f74c29ab0fabd9a2fb5344383fdb72be8665bb104585
7
- data.tar.gz: 10f3cc2f1ce4d17ce6bdb98c5562e03e6ce4d6d397d9878627d69aa227ebdf6e43a769dec9ec0fae265df138e95c3f1411b49f785dac0ef18d0ca12383bdd03b
6
+ metadata.gz: db4d227277234a877903b5c3516667428526449ca113da5703c242dce1c44156d494d8eaf5a7c01a2015c3443b2ac31e4ea89dac36cef0f992cd81bac28cb0bb
7
+ data.tar.gz: a3965fdadc10b602b0d8f721bea94924f5f183ec3d346cc8dcab996d916ac13e816d38340ea8f9797dcae8d4468b80532a9f6e2318fb7c450b5c10f46ef35542
@@ -1,5 +1,17 @@
1
1
  # Change Log
2
2
 
3
+ Bugfixes:
4
+
5
+ - Use require_dependency for rake and sidekiq plugins. See [#485](https://github.com/rollbar/rollbar-gem/pull/485).
6
+ - Add immediate ActiveModel::Validations monkey patch. See [#484](https://github.com/rollbar/rollbar-gem/pull/484).
7
+ - Pass correct options to Item.build_with. See [#480](https://github.com/rollbar/rollbar-gem/pull/480).
8
+
9
+ Documentation:
10
+
11
+ - Update exception filter heading and TOC. See [#481](https://github.com/rollbar/rollbar-gem/pull/481).
12
+ - Add advanced usage of exception filters in readme. See [#477](https://github.com/rollbar/rollbar-gem/pull/477).
13
+
14
+
3
15
  ## 2.11.4
4
16
 
5
17
  Change:
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Rollbar [![Build Status](https://api.travis-ci.org/rollbar/rollbar-gem.svg?branch=v2.11.4)](https://travis-ci.org/rollbar/rollbar-gem/branches)
1
+ # Rollbar [![Build Status](https://api.travis-ci.org/rollbar/rollbar-gem.svg?branch=v2.11.5)](https://travis-ci.org/rollbar/rollbar-gem/branches)
2
2
 
3
3
  <!-- RemoveNext -->
4
4
  [Rollbar](https://rollbar.com) is an error tracking service for Ruby and other languages. The Rollbar service will alert you of problems with your code and help you understand them in a ways never possible before. We love it and we hope you will too.
@@ -26,6 +26,7 @@ This is the Ruby library for Rollbar. It will instrument many kinds of Ruby appl
26
26
  - [Data sanitization (scrubbing)](#data-sanitization-scrubbing)
27
27
  - [Including additional runtime data](#including-additional-runtime-data)
28
28
  - [Exception level filters](#exception-level-filters)
29
+ - [Dyanmic levels](#dynamic-levels)
29
30
  - [Before process hook](#before-process-hook)
30
31
  - [Transform hook](#transform-hook)
31
32
  - [The Scope](#the-scope)
@@ -501,7 +502,17 @@ This behavior applies to uncaught exceptions, not direct calls to `Rollbar.error
501
502
  Rollbar.error(exception, :use_exception_level_filters => true)
502
503
  ```
503
504
 
504
- ## [Before process hook](#before-process-hook)
505
+ ### Dynamic levels
506
+
507
+ You can also specify a callable object (any object that responds to `call`) which will be called with the exception instance. For example, you can have a single error reported at different levels using the following code:
508
+
509
+ ```ruby
510
+ config.exception_level_filters.merge!({
511
+ 'SomeError' => lambda { |error| error.to_s.include?('not serious enough') ? 'info' : 'error' }
512
+ })
513
+ ```
514
+
515
+ ## Before process hook
505
516
 
506
517
  Before we process data sent to Rollbar.log (or Rollbar.error/info/etc.) to build and send the payload, the gem will call the handlers defined in `configuration.before_process`. This handlers should be `Proc` objects or objects responding to `#call` method. The received argument is a `Hash` object with these keys:
507
518
 
@@ -523,7 +534,7 @@ Rollbar.configure do |config|
523
534
  end
524
535
  ```
525
536
 
526
- ## [Transform hook](#transform-hook)
537
+ ## Transform hook
527
538
 
528
539
  After the payload is built but before it it sent to our API, the gem will call the handlers defined in `configuration.transform`. This handlers should be `Proc` objects or objects responding to `#call` method. The received argument is a `Hash` object with these keys:
529
540
 
@@ -548,7 +559,7 @@ Rollbar.configure do |config|
548
559
  end
549
560
  ```
550
561
 
551
- ## [The Scope](#the-scope)
562
+ ## The Scope
552
563
 
553
564
  The scope an object, an instance of `Rollbar::LazyStore` that stores the current context data for a certain moment or situation. For example, the Rails middleware defines the scope in a way similar to this:
554
565
 
@@ -221,7 +221,10 @@ module Rollbar
221
221
  def process_from_async_handler(payload)
222
222
  payload = Rollbar::JSON.load(payload) if payload.is_a?(String)
223
223
 
224
- item = Item.build_with(payload)
224
+ item = Item.build_with(payload,
225
+ :notifier => self,
226
+ :configuration => configuration,
227
+ :logger => logger)
225
228
 
226
229
  Rollbar.silenced do
227
230
  begin
@@ -263,7 +266,11 @@ module Rollbar
263
266
  }
264
267
 
265
268
  begin
266
- schedule_item(Item.build_with(failsafe_payload))
269
+ item = Item.build_with(failsafe_payload,
270
+ :notifier => self,
271
+ :configuration => configuration,
272
+ :logger => logger)
273
+ schedule_item(item)
267
274
  rescue => e
268
275
  log_error "[Rollbar] Error sending failsafe : #{e}"
269
276
  end
@@ -1,4 +1,5 @@
1
1
  Rollbar.plugins.define('rake') do
2
+ require_dependency('rake')
2
3
  dependency { !configuration.disable_monkey_patch }
3
4
  dependency { defined?(Rake) }
4
5
 
@@ -1,4 +1,5 @@
1
1
  Rollbar.plugins.define('sidekiq >= 3') do
2
+ require_dependency('sidekiq')
2
3
  dependency { !configuration.disable_monkey_patch }
3
4
  dependency { defined?(Sidekiq) }
4
5
  dependency { Sidekiq::VERSION.split('.')[0].to_i >= 3 }
@@ -19,6 +20,7 @@ Rollbar.plugins.define('sidekiq >= 3') do
19
20
  end
20
21
 
21
22
  Rollbar.plugins.define('sidekiq < 3') do
23
+ require_dependency('sidekiq')
22
24
  dependency { !configuration.disable_monkey_patch }
23
25
  dependency { defined?(Sidekiq) }
24
26
  dependency { Sidekiq::VERSION.split('.')[0].to_i < 3 }
@@ -7,7 +7,7 @@ Rollbar.plugins.define('active_model') do
7
7
  ActiveModel::VERSION::MAJOR >= 3
8
8
  end
9
9
 
10
- execute do
10
+ execute! do
11
11
  module Rollbar
12
12
  # Module that defines methods to be used by instances using
13
13
  # ActiveModel::Validations
@@ -25,7 +25,7 @@ Rollbar.plugins.define('active_model') do
25
25
  end
26
26
  end
27
27
 
28
- execute do
28
+ execute! do
29
29
  ActiveModel::Validations.module_eval do
30
30
  include Rollbar::ActiveRecordExtension
31
31
  end
@@ -1,3 +1,3 @@
1
1
  module Rollbar
2
- VERSION = '2.11.4'
2
+ VERSION = '2.11.5'
3
3
  end
@@ -631,5 +631,26 @@ describe Rollbar::Item do
631
631
  expect(json).to be_kind_of(String)
632
632
  end
633
633
  end
634
+
635
+ context 'with too large payload', :fixture => :payload do
636
+ let(:payload_fixture) { 'payloads/sample.trace.json' }
637
+ let(:item) do
638
+ Rollbar::Item.build_with(payload,
639
+ :notifier => notifier,
640
+ :configuration => configuration,
641
+ :logger => logger)
642
+ end
643
+
644
+ before do
645
+ allow(Rollbar::Truncation).to receive(:truncate?).and_return(true)
646
+ end
647
+
648
+ it 'calls Notifier#send_failsafe and logs the error' do
649
+ expect(notifier).to receive(:send_failsafe)
650
+ expect(logger).to receive(:error)
651
+
652
+ item.dump
653
+ end
654
+ end
634
655
  end
635
656
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rollbar
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.11.4
4
+ version: 2.11.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rollbar, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-31 00:00:00.000000000 Z
11
+ date: 2016-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json