rollbar 3.1.0 → 3.3.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.
Files changed (77) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +18 -1
  3. data/.rubocop.yml +81 -34
  4. data/Gemfile +17 -10
  5. data/README.md +1 -1
  6. data/data/rollbar.snippet.js +1 -1
  7. data/gemfiles/rails30.gemfile +11 -12
  8. data/gemfiles/rails31.gemfile +12 -13
  9. data/gemfiles/rails32.gemfile +5 -6
  10. data/gemfiles/rails40.gemfile +3 -5
  11. data/gemfiles/rails41.gemfile +3 -6
  12. data/gemfiles/rails42.gemfile +5 -10
  13. data/gemfiles/rails50.gemfile +9 -10
  14. data/gemfiles/rails51.gemfile +8 -9
  15. data/gemfiles/rails52.gemfile +6 -5
  16. data/gemfiles/rails60.gemfile +7 -12
  17. data/gemfiles/rails61.gemfile +54 -0
  18. data/lib/generators/rollbar/rollbar_generator.rb +18 -14
  19. data/lib/generators/rollbar/templates/{initializer.rb → initializer.erb} +0 -0
  20. data/lib/rails/rollbar_runner.rb +12 -5
  21. data/lib/rollbar/capistrano.rb +16 -8
  22. data/lib/rollbar/capistrano3.rb +8 -2
  23. data/lib/rollbar/capistrano_tasks.rb +37 -10
  24. data/lib/rollbar/configuration.rb +114 -90
  25. data/lib/rollbar/delay/shoryuken.rb +4 -3
  26. data/lib/rollbar/delay/sidekiq.rb +3 -1
  27. data/lib/rollbar/delay/sucker_punch.rb +1 -2
  28. data/lib/rollbar/delay/thread.rb +3 -2
  29. data/lib/rollbar/deploy.rb +6 -7
  30. data/lib/rollbar/encoding/encoder.rb +7 -3
  31. data/lib/rollbar/exception_reporter.rb +17 -8
  32. data/lib/rollbar/item/backtrace.rb +10 -8
  33. data/lib/rollbar/item/frame.rb +6 -5
  34. data/lib/rollbar/item/locals.rb +3 -2
  35. data/lib/rollbar/item.rb +48 -39
  36. data/lib/rollbar/json.rb +1 -1
  37. data/lib/rollbar/lazy_store.rb +1 -3
  38. data/lib/rollbar/logger.rb +2 -0
  39. data/lib/rollbar/logger_proxy.rb +3 -1
  40. data/lib/rollbar/middleware/js.rb +58 -36
  41. data/lib/rollbar/middleware/rack/builder.rb +3 -3
  42. data/lib/rollbar/middleware/rack/test_session.rb +3 -3
  43. data/lib/rollbar/middleware/rack.rb +4 -4
  44. data/lib/rollbar/middleware/rails/rollbar.rb +9 -6
  45. data/lib/rollbar/middleware/rails/show_exceptions.rb +8 -4
  46. data/lib/rollbar/notifier/trace_with_bindings.rb +4 -2
  47. data/lib/rollbar/notifier.rb +179 -133
  48. data/lib/rollbar/plugin.rb +8 -8
  49. data/lib/rollbar/plugins/active_job.rb +11 -2
  50. data/lib/rollbar/plugins/delayed_job/plugin.rb +10 -3
  51. data/lib/rollbar/plugins/goalie.rb +27 -16
  52. data/lib/rollbar/plugins/rails/controller_methods.rb +18 -14
  53. data/lib/rollbar/plugins/rails/railtie30.rb +2 -1
  54. data/lib/rollbar/plugins/rails/railtie32.rb +2 -1
  55. data/lib/rollbar/plugins/rails/railtie_mixin.rb +2 -2
  56. data/lib/rollbar/plugins/rails.rb +5 -2
  57. data/lib/rollbar/plugins/rake.rb +2 -1
  58. data/lib/rollbar/plugins/sidekiq/plugin.rb +37 -20
  59. data/lib/rollbar/plugins/sidekiq.rb +1 -1
  60. data/lib/rollbar/plugins/thread.rb +8 -7
  61. data/lib/rollbar/plugins/validations.rb +3 -1
  62. data/lib/rollbar/rake_tasks.rb +0 -1
  63. data/lib/rollbar/request_data_extractor.rb +38 -17
  64. data/lib/rollbar/rollbar_test.rb +3 -1
  65. data/lib/rollbar/scrubbers/params.rb +13 -7
  66. data/lib/rollbar/scrubbers/url.rb +48 -14
  67. data/lib/rollbar/scrubbers.rb +1 -1
  68. data/lib/rollbar/truncation/remove_any_key_strategy.rb +4 -1
  69. data/lib/rollbar/truncation/remove_extra_strategy.rb +3 -1
  70. data/lib/rollbar/util/hash.rb +14 -7
  71. data/lib/rollbar/util/ip_anonymizer.rb +1 -1
  72. data/lib/rollbar/util.rb +19 -13
  73. data/lib/rollbar/version.rb +1 -1
  74. data/lib/rollbar.rb +12 -7
  75. data/lib/tasks/benchmark.rake +2 -1
  76. data/rollbar.gemspec +3 -1
  77. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ba8aea4a40e218a0ad7286be5650c74d821d5c9b
4
- data.tar.gz: 3bd1e7c7d318492601b313a59433bf07e4fdc31e
2
+ SHA256:
3
+ metadata.gz: c88b1bd8659724cc0d0351d4efb1a458ec8af8e466ddaf6a453e6acaa6da6bd9
4
+ data.tar.gz: 7961e62c55a4f147644cd203ca279b188a7ec3061f15b7ce88943591ccf87e07
5
5
  SHA512:
6
- metadata.gz: cb2915a7bd1b0e16470b9e2dec96f06c4b3ff9554cf9d375705731264687c906e9eb8a8ba7a3eb27ec11b9dd7eaa592b9923fec9764d55c2d9947539af934a3f
7
- data.tar.gz: 020b420cd16ba5643167860cf35a75440b870fa480841d062ee1efb567b709dce2bc646e8238318ed4d4b5381f83729136eeb66ea8635adda037cad6191df478
6
+ metadata.gz: fce360ce571930f495008f786bbc41ed649a7ee9d0e1e23e81a5e050b9310dbf4fc50952f62236d23d5a27f8057efc4c030a321207357423526cffa38d07355c
7
+ data.tar.gz: 759e0e90848534ea09cbfd6ffe866f2d75e314fc56e2bdd7dbd6a48a428691ae5c42d2ec5a158638ba74148456674b01d5450f5cea1198e3148bc6dd69ce545a
@@ -11,16 +11,23 @@ jobs:
11
11
  runs-on: ubuntu-18.04
12
12
  strategy:
13
13
  matrix:
14
- ruby-version: [2.2.10, 2.3.0, 2.3.8, 2.4.5, 2.5.3, 2.6.0]
14
+ ruby-version: [2.2.10, 2.3.0, 2.3.8, 2.4.5, 2.5.3, 2.6.0, 2.6.6, 2.7.2]
15
15
  gemfile:
16
16
  - gemfiles/rails42.gemfile
17
17
  - gemfiles/rails50.gemfile
18
18
  - gemfiles/rails51.gemfile
19
19
  - gemfiles/rails52.gemfile
20
20
  - gemfiles/rails60.gemfile
21
+ - gemfiles/rails61.gemfile
21
22
  exclude:
23
+ - gemfile: gemfiles/rails42.gemfile
24
+ ruby-version: 2.7.2
22
25
  - gemfile: gemfiles/rails42.gemfile
23
26
  ruby-version: 2.6.0
27
+ - gemfile: gemfiles/rails42.gemfile
28
+ ruby-version: 2.6.6
29
+ - gemfile: gemfiles/rails42.gemfile
30
+ ruby-version: 2.7.2
24
31
  - gemfile: gemfiles/rails52.gemfile
25
32
  ruby-version: 2.2.10
26
33
  - gemfile: gemfiles/rails60.gemfile
@@ -31,6 +38,14 @@ jobs:
31
38
  ruby-version: 2.3.8
32
39
  - gemfile: gemfiles/rails60.gemfile
33
40
  ruby-version: 2.4.5
41
+ - gemfile: gemfiles/rails61.gemfile
42
+ ruby-version: 2.2.10
43
+ - gemfile: gemfiles/rails61.gemfile
44
+ ruby-version: 2.3.0
45
+ - gemfile: gemfiles/rails61.gemfile
46
+ ruby-version: 2.3.8
47
+ - gemfile: gemfiles/rails61.gemfile
48
+ ruby-version: 2.4.5
34
49
  include:
35
50
  - gemfile: gemfiles/rails41.gemfile
36
51
  ruby-version: 2.3.0
@@ -52,6 +67,8 @@ jobs:
52
67
  ruby-version: 2.0.0
53
68
  - gemfile: gemfiles/rails30.gemfile
54
69
  ruby-version: 2.0.0
70
+ - gemfile: gemfiles/rails61.gemfile
71
+ ruby-version: 3.0.0
55
72
 
56
73
  steps:
57
74
  - uses: actions/checkout@v2
data/.rubocop.yml CHANGED
@@ -4,51 +4,40 @@ AllCops:
4
4
  Exclude:
5
5
  - 'vendor/**/*'
6
6
  - 'gemfiles/vendor/**/*'
7
+ - 'spec/dummyapp/**/*'
8
+ - 'spec/tmp/**/*'
9
+ TargetRubyVersion: 2.5 # This is the minimum allowed for current rubocop
7
10
 
8
- Style/HashSyntax:
9
- EnforcedStyle: hash_rockets
10
- SupportedStyles:
11
- - hash_rockets
12
-
13
- Style/SymbolArray:
14
- Enabled: false # %i[] syntax isn't 1.9.x compatible
15
-
16
- Metrics/LineLength:
17
- Max: 1000
18
-
19
- Metrics/MethodLength:
20
- Max: 15 # Relax slightly from the default of 10
11
+ Gemspec/RequiredRubyVersion:
12
+ Enabled: false # rubocop compares to gemspec, yet won't allow 1.9 as minimum version
21
13
 
22
- Style/DoubleNegation:
14
+ Layout/HeredocIndentation:
15
+ # When enabled, forces either squiggly syntax (not available until 2.3),
16
+ # or external packages that we don't want as dependencies.
23
17
  Enabled: false
24
18
 
25
- Style/Lambda:
19
+ Layout/LineLength:
20
+ Max: 90
21
+
22
+ Lint/ConstantDefinitionInBlock:
23
+ # We routinely update existing class definitions in conditional blocks.
26
24
  Enabled: false
27
25
 
28
- Style/EachWithObject:
26
+ Lint/SendWithMixinArgument:
27
+ # Object#include is still a private method in Ruby 2.0.
29
28
  Enabled: false
30
29
 
31
30
  Metrics/BlockLength:
32
- ExcludedMethods: ['describe', 'context'] # RSpec DSL is expected to have long blocks.
33
-
34
- Style/ExpandPathArguments:
35
- Enabled: false # syntax requires Ruby >= 2.0
31
+ # RSpec DSL is expected to have long blocks.
32
+ IgnoredMethods: ['describe', 'context', 'it', 'shared_examples']
36
33
 
37
- Gemspec/RequiredRubyVersion:
38
- Enabled: false # rubocop compares to gemspec, yet won't allow 1.9 as minimum version
39
-
40
- Style/Encoding:
41
- Enabled: false # Ruby 1.9.3 needs these magic comments, e.g. # encoding: UTF-8
42
-
43
- Style/PercentLiteralDelimiters:
44
- PreferredDelimiters:
45
- # rubocop switched from () to [] at some past version.
46
- # Make sure we are consistent across all bundles/builds.
47
- default: '[]'
34
+ Metrics/MethodLength:
35
+ Max: 15 # Relax slightly from the default of 10
48
36
 
49
- Style/Documentation:
50
- # We can enabled this if/when we want to start doing consistent class documentation.
51
- # As is, we currently add :nodoc: if anything at all.
37
+ Metrics/ParameterLists:
38
+ # We currently don't have limits on the number of method arguments, except as
39
+ # they contribute to the complexity metric. If method complexity is in bounds,
40
+ # we allow any number of arguments.
52
41
  Enabled: false
53
42
 
54
43
  Naming/MethodParameterName:
@@ -64,15 +53,73 @@ Style/CaseEquality:
64
53
  # review and test each of these.
65
54
  Enabled: false
66
55
 
56
+ Style/Documentation:
57
+ # We can enabled this if/when we want to start doing consistent class documentation.
58
+ # As is, we currently add :nodoc: if anything at all.
59
+ Enabled: false
60
+
61
+ Style/DoubleNegation:
62
+ Enabled: false
63
+
64
+ Style/EachWithObject:
65
+ Enabled: false
66
+
67
+ Style/Encoding:
68
+ Enabled: false # Ruby 1.9.3 needs these magic comments, e.g. # encoding: UTF-8
69
+
70
+ Style/ExpandPathArguments:
71
+ Enabled: false # syntax requires Ruby >= 2.0
72
+
67
73
  Style/FrozenStringLiteralComment:
68
74
  # If we do this, it will be in its own PR. It requires adding these magic comments
69
75
  # throughout the project, in order to prepare for a future Ruby 3.x.
70
76
  Enabled: false
71
77
 
78
+ Style/HashSyntax:
79
+ EnforcedStyle: hash_rockets
80
+ SupportedStyles:
81
+ - hash_rockets
82
+
83
+ Style/HashTransformKeys:
84
+ # Hash#transform_keys isn't available until Ruby 2.5
85
+ Enabled: false
86
+
87
+ Style/Lambda:
88
+ Enabled: false
89
+
90
+ Style/NumericPredicate:
91
+ # Numbers used in comparison expressions are often more readable and consistent
92
+ # than using predicate methods. e.g.
93
+ # major > 0 && minor > 8
94
+ # is more readable than
95
+ # major.positive? && minor > 8
96
+ Enabled: false
97
+
98
+ Style/OptionalBooleanParameter:
99
+ # We don't yet generally use keyword arguments. Ruby < 2.1 doesn't support
100
+ # required kayword arguments. And satifying this rule would change the calling
101
+ # convention only for these specific optional boolean arguments.
102
+ # This rule should be enabled when the project is updated to use keyword
103
+ # arguments in general.
104
+ Enabled: false
105
+
106
+ Style/PercentLiteralDelimiters:
107
+ PreferredDelimiters:
108
+ # rubocop switched from () to [] at some past version.
109
+ # Make sure we are consistent across all bundles/builds.
110
+ default: '[]'
111
+
112
+ Style/RedundantBegin:
113
+ # Ruby < 2.5 needs begin/end inside blocks when using rescue
114
+ Enabled: false
115
+
72
116
  Style/SafeNavigation:
73
117
  # Not available in Ruby < 2.3.
74
118
  Enabled: false
75
119
 
120
+ Style/SymbolArray:
121
+ Enabled: false # %i[] syntax isn't 1.9.x compatible
122
+
76
123
  #
77
124
  # Performance cops are opt in, and `Enabled: true` is always required.
78
125
  # Full list is here: https://github.com/rubocop-hq/rubocop-performance/tree/master/lib/rubocop/cop/performance
data/Gemfile CHANGED
@@ -11,8 +11,7 @@ ENV['CURRENT_GEMFILE'] ||= __FILE__
11
11
 
12
12
  is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby')
13
13
 
14
- GEMFILE_RAILS_VERSION = '5.2.2'.freeze
15
-
14
+ GEMFILE_RAILS_VERSION = '~> 6.1.3'.freeze
16
15
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
17
16
  gem 'appraisal'
18
17
  gem 'jruby-openssl', :platform => :jruby
@@ -21,27 +20,26 @@ gem 'rake'
21
20
  if GEMFILE_RAILS_VERSION < '6.0'
22
21
  gem 'rspec-rails', '~> 3.4'
23
22
  else
24
- # TODO: update this when 4.x becomes available on Rubygems
25
- gem 'rspec-rails', :git => 'https://github.com/rspec/rspec-rails', :ref => 'v4.0.0.beta2' # rubocop:disable Bundler/DuplicatedGem
23
+ gem 'rspec-rails', '~> 4.0.2'
26
24
  end
27
25
 
28
26
  if GEMFILE_RAILS_VERSION < '6.0'
29
27
  gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
30
28
  else
31
- gem 'sqlite3', '~> 1.4', :platform => [:ruby, :mswin, :mingw] # rubocop:disable Bundler/DuplicatedGem
29
+ gem 'sqlite3', '~> 1.4', :platform => [:ruby, :mswin, :mingw]
32
30
  end
33
31
 
34
32
  if RUBY_VERSION < '2.2.2'
35
33
  gem 'sidekiq', '~> 2.13.0'
36
34
  else
37
- gem 'sidekiq', '>= 2.13.0' # rubocop:disable Bundler/DuplicatedGem
35
+ gem 'sidekiq', '>= 2.13.0'
38
36
  end
39
37
 
40
38
  platforms :rbx do
41
39
  gem 'minitest'
42
40
  gem 'racc'
43
41
  gem 'rubinius-developer_tools'
44
- gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
42
+ gem 'rubysl', '~> 2.0' if RUBY_VERSION.start_with?('2')
45
43
  end
46
44
 
47
45
  gem 'capistrano', :require => false
@@ -56,18 +54,27 @@ unless is_jruby
56
54
  end
57
55
 
58
56
  gem 'aws-sdk-sqs'
59
- gem 'database_cleaner'
57
+
58
+ if GEMFILE_RAILS_VERSION >= '5.2'
59
+ gem 'database_cleaner'
60
+ elsif GEMFILE_RAILS_VERSION.between?('5.0', '5.2')
61
+ gem 'database_cleaner', '~> 1.8.4'
62
+ elsif GEMFILE_RAILS_VERSION < '5.0'
63
+ gem 'database_cleaner', '~> 1.0.0'
64
+ end
65
+
60
66
  if GEMFILE_RAILS_VERSION < '6.0'
61
67
  gem 'delayed_job', :require => false
62
68
  else
63
- gem 'delayed_job', '~> 4.1', :require => false # rubocop:disable Bundler/DuplicatedGem
69
+ gem 'delayed_job', '~> 4.1', :require => false
64
70
  end
65
71
  gem 'generator_spec'
66
72
  gem 'girl_friday', '>= 0.11.1'
67
73
  gem 'redis'
68
74
  gem 'resque', '< 2.0.0'
69
- gem 'rubocop', '~> 0.93.0', :require => false
75
+ gem 'rubocop', '1.15.0', :require => false # pin specific version, update manually
70
76
  gem 'rubocop-performance', :require => false
77
+ gem 'secure_headers', '~> 6.3.2', :require => false
71
78
  gem 'sinatra'
72
79
  gem 'webmock', :require => false
73
80
  gemspec
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Rollbar-gem
2
- [![Build Status](https://travis-ci.org/rollbar/rollbar-gem.svg?branch=master)](https://travis-ci.org/rollbar/rollbar-gem/branches)
2
+ ![Build Status](https://github.com/rollbar/rollbar-gem/workflows/Rollbar-gem%20CI/badge.svg?tag=latest)
3
3
  [![Gem Version](https://badge.fury.io/rb/rollbar.svg)](http://badge.fury.io/rb/rollbar)
4
4
  [![SemVer](https://api.dependabot.com/badges/compatibility_score?dependency-name=rollbar&package-manager=bundler&version-scheme=semver&target-version=latest)](https://dependabot.com/compatibility-score.html?dependency-name=rollbar&package-manager=bundler&version-scheme=semver&new-version=latest)
5
5
 
@@ -1 +1 @@
1
- !function(r){var e={};function o(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return r[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=e,o.d=function(r,e,n){o.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:n})},o.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},o.t=function(r,e){if(1&e&&(r=o(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var t in r)o.d(n,t,function(e){return r[e]}.bind(null,t));return n},o.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return o.d(e,"a",e),e},o.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},o.p="",o(o.s=0)}([function(r,e,o){"use strict";var n=o(1),t=o(5);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdn.rollbar.com/rollbarjs/refs/tags/v2.19.3/rollbar.min.js",_rollbarConfig.async=void 0===_rollbarConfig.async||_rollbarConfig.async;var a=n.setupShim(window,_rollbarConfig),l=t(_rollbarConfig);window.rollbar=n.Rollbar,a.loadFull(window,document,!_rollbarConfig.async,_rollbarConfig,l)},function(r,e,o){"use strict";var n=o(2),t=o(3);function a(r){return function(){try{return r.apply(this,arguments)}catch(r){try{console.error("[Rollbar]: Internal error",r)}catch(r){}}}}var l=0;function i(r,e){this.options=r,this._rollbarOldOnError=null;var o=l++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:e,messages:[]})}var s=o(4),d=function(r,e){return new i(r,e)},c=function(r){return new s(d,r)};function u(r){return a((function(){var e=this,o=Array.prototype.slice.call(arguments,0),n={shim:e,method:r,args:o,ts:new Date};window._rollbarShims[this.shimId()].messages.push(n)}))}i.prototype.loadFull=function(r,e,o,n,t){var l=!1,i=e.createElement("script"),s=e.getElementsByTagName("script")[0],d=s.parentNode;i.crossOrigin="",i.src=n.rollbarJsUrl,o||(i.async=!0),i.onload=i.onreadystatechange=a((function(){if(!(l||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){i.onload=i.onreadystatechange=null;try{d.removeChild(i)}catch(r){}l=!0,function(){var e;if(void 0===r._rollbarDidLoad){e=new Error("rollbar.js did not load");for(var o,n,a,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];n=o.shift();)for(a=n.args||[],i=0;i<a.length;++i)if("function"==typeof(l=a[i])){l(e);break}}"function"==typeof t&&t(e)}()}})),d.insertBefore(i,s)},i.prototype.wrap=function(r,e,o){try{var n;if(n="function"==typeof e?e:function(){return e||{}},"function"!=typeof r)return r;if(r._isWrap)return r;if(!r._rollbar_wrapped&&(r._rollbar_wrapped=function(){o&&"function"==typeof o&&o.apply(this,arguments);try{return r.apply(this,arguments)}catch(o){var e=o;throw e&&("string"==typeof e&&(e=new String(e)),e._rollbarContext=n()||{},e._rollbarContext._wrappedSource=r.toString(),window._rollbarWrappedError=e),e}},r._rollbar_wrapped._isWrap=!0,r.hasOwnProperty))for(var t in r)r.hasOwnProperty(t)&&(r._rollbar_wrapped[t]=r[t]);return r._rollbar_wrapped}catch(e){return r}};for(var p="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","),f=0;f<p.length;++f)i.prototype[p[f]]=u(p[f]);r.exports={setupShim:function(r,e){if(r){var o=e.globalAlias||"Rollbar";if("object"==typeof r[o])return r[o];r._rollbarShims={},r._rollbarWrappedError=null;var l=new c(e);return a((function(){e.captureUncaught&&(l._rollbarOldOnError=r.onerror,n.captureUncaughtExceptions(r,l,!0),e.wrapGlobalEventHandlers&&t(r,l,!0)),e.captureUnhandledRejections&&n.captureUnhandledRejections(r,l,!0);var a=e.autoInstrument;return!1!==e.enabled&&(void 0===a||!0===a||"object"==typeof a&&a.network)&&r.addEventListener&&(r.addEventListener("load",l.captureLoad.bind(l)),r.addEventListener("DOMContentLoaded",l.captureDomContentLoaded.bind(l))),r[o]=l,l}))()}},Rollbar:c}},function(r,e,o){"use strict";function n(r,e,o,n){r._rollbarWrappedError&&(n[4]||(n[4]=r._rollbarWrappedError),n[5]||(n[5]=r._rollbarWrappedError._rollbarContext),r._rollbarWrappedError=null);var t=e.handleUncaughtException.apply(e,n);o&&o.apply(r,n),"anonymous"===t&&(e.anonymousErrorsPending+=1)}r.exports={captureUncaughtExceptions:function(r,e,o){if(r){var t;if("function"==typeof e._rollbarOldOnError)t=e._rollbarOldOnError;else if(r.onerror){for(t=r.onerror;t._rollbarOldOnError;)t=t._rollbarOldOnError;e._rollbarOldOnError=t}e.handleAnonymousErrors();var a=function(){var o=Array.prototype.slice.call(arguments,0);n(r,e,t,o)};o&&(a._rollbarOldOnError=t),r.onerror=a}},captureUnhandledRejections:function(r,e,o){if(r){"function"==typeof r._rollbarURH&&r._rollbarURH.belongsToShim&&r.removeEventListener("unhandledrejection",r._rollbarURH);var n=function(r){var o,n,t;try{o=r.reason}catch(r){o=void 0}try{n=r.promise}catch(r){n="[unhandledrejection] error getting `promise` from event"}try{t=r.detail,!o&&t&&(o=t.reason,n=t.promise)}catch(r){}o||(o="[unhandledrejection] error getting `reason` from event"),e&&e.handleUnhandledRejection&&e.handleUnhandledRejection(o,n)};n.belongsToShim=o,r._rollbarURH=n,r.addEventListener("unhandledrejection",n)}}}},function(r,e,o){"use strict";function n(r,e,o){if(e.hasOwnProperty&&e.hasOwnProperty("addEventListener")){for(var n=e.addEventListener;n._rollbarOldAdd&&n.belongsToShim;)n=n._rollbarOldAdd;var t=function(e,o,t){n.call(this,e,r.wrap(o),t)};t._rollbarOldAdd=n,t.belongsToShim=o,e.addEventListener=t;for(var a=e.removeEventListener;a._rollbarOldRemove&&a.belongsToShim;)a=a._rollbarOldRemove;var l=function(r,e,o){a.call(this,r,e&&e._rollbar_wrapped||e,o)};l._rollbarOldRemove=a,l.belongsToShim=o,e.removeEventListener=l}}r.exports=function(r,e,o){if(r){var t,a,l="EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload".split(",");for(t=0;t<l.length;++t)r[a=l[t]]&&r[a].prototype&&n(e,r[a].prototype,o)}}},function(r,e,o){"use strict";function n(r,e){this.impl=r(e,this),this.options=e,function(r){for(var e=function(r){return function(){var e=Array.prototype.slice.call(arguments,0);if(this.impl[r])return this.impl[r].apply(this.impl,e)}},o="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(","),n=0;n<o.length;n++)r[o[n]]=e(o[n])}(n.prototype)}n.prototype._swapAndProcessMessages=function(r,e){var o,n,t;for(this.impl=r(this.options);o=e.shift();)n=o.method,t=o.args,this[n]&&"function"==typeof this[n]&&("captureDomContentLoaded"===n||"captureLoad"===n?this[n].apply(this,[t[0],o.ts]):this[n].apply(this,t));return this},r.exports=n},function(r,e,o){"use strict";r.exports=function(r){return function(e){if(!e&&!window._rollbarInitialized){for(var o,n,t=(r=r||{}).globalAlias||"Rollbar",a=window.rollbar,l=function(r){return new a(r)},i=0;o=window._rollbarShims[i++];)n||(n=o.handler),o.handler._swapAndProcessMessages(l,o.messages);window[t]=n,window._rollbarInitialized=!0}}}}]);
1
+ !function(r){var e={};function o(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return r[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=e,o.d=function(r,e,n){o.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:n})},o.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},o.t=function(r,e){if(1&e&&(r=o(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var t in r)o.d(n,t,function(e){return r[e]}.bind(null,t));return n},o.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return o.d(e,"a",e),e},o.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},o.p="",o(o.s=0)}([function(r,e,o){"use strict";var n=o(1),t=o(5);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdn.rollbar.com/rollbarjs/refs/tags/v2.22.0/rollbar.min.js",_rollbarConfig.async=void 0===_rollbarConfig.async||_rollbarConfig.async;var a=n.setupShim(window,_rollbarConfig),l=t(_rollbarConfig);window.rollbar=n.Rollbar,a.loadFull(window,document,!_rollbarConfig.async,_rollbarConfig,l)},function(r,e,o){"use strict";var n=o(2),t=o(3);function a(r){return function(){try{return r.apply(this,arguments)}catch(r){try{console.error("[Rollbar]: Internal error",r)}catch(r){}}}}var l=0;function i(r,e){this.options=r,this._rollbarOldOnError=null;var o=l++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:e,messages:[]})}var s=o(4),d=function(r,e){return new i(r,e)},c=function(r){return new s(d,r)};function u(r){return a((function(){var e=this,o=Array.prototype.slice.call(arguments,0),n={shim:e,method:r,args:o,ts:new Date};window._rollbarShims[this.shimId()].messages.push(n)}))}i.prototype.loadFull=function(r,e,o,n,t){var l=!1,i=e.createElement("script"),s=e.getElementsByTagName("script")[0],d=s.parentNode;i.crossOrigin="",i.src=n.rollbarJsUrl,o||(i.async=!0),i.onload=i.onreadystatechange=a((function(){if(!(l||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){i.onload=i.onreadystatechange=null;try{d.removeChild(i)}catch(r){}l=!0,function(){var e;if(void 0===r._rollbarDidLoad){e=new Error("rollbar.js did not load");for(var o,n,a,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];n=o.shift();)for(a=n.args||[],i=0;i<a.length;++i)if("function"==typeof(l=a[i])){l(e);break}}"function"==typeof t&&t(e)}()}})),d.insertBefore(i,s)},i.prototype.wrap=function(r,e,o){try{var n;if(n="function"==typeof e?e:function(){return e||{}},"function"!=typeof r)return r;if(r._isWrap)return r;if(!r._rollbar_wrapped&&(r._rollbar_wrapped=function(){o&&"function"==typeof o&&o.apply(this,arguments);try{return r.apply(this,arguments)}catch(o){var e=o;throw e&&("string"==typeof e&&(e=new String(e)),e._rollbarContext=n()||{},e._rollbarContext._wrappedSource=r.toString(),window._rollbarWrappedError=e),e}},r._rollbar_wrapped._isWrap=!0,r.hasOwnProperty))for(var t in r)r.hasOwnProperty(t)&&(r._rollbar_wrapped[t]=r[t]);return r._rollbar_wrapped}catch(e){return r}};for(var p="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","),f=0;f<p.length;++f)i.prototype[p[f]]=u(p[f]);r.exports={setupShim:function(r,e){if(r){var o=e.globalAlias||"Rollbar";if("object"==typeof r[o])return r[o];r._rollbarShims={},r._rollbarWrappedError=null;var l=new c(e);return a((function(){e.captureUncaught&&(l._rollbarOldOnError=r.onerror,n.captureUncaughtExceptions(r,l,!0),e.wrapGlobalEventHandlers&&t(r,l,!0)),e.captureUnhandledRejections&&n.captureUnhandledRejections(r,l,!0);var a=e.autoInstrument;return!1!==e.enabled&&(void 0===a||!0===a||"object"==typeof a&&a.network)&&r.addEventListener&&(r.addEventListener("load",l.captureLoad.bind(l)),r.addEventListener("DOMContentLoaded",l.captureDomContentLoaded.bind(l))),r[o]=l,l}))()}},Rollbar:c}},function(r,e,o){"use strict";function n(r,e,o,n){r._rollbarWrappedError&&(n[4]||(n[4]=r._rollbarWrappedError),n[5]||(n[5]=r._rollbarWrappedError._rollbarContext),r._rollbarWrappedError=null);var t=e.handleUncaughtException.apply(e,n);o&&o.apply(r,n),"anonymous"===t&&(e.anonymousErrorsPending+=1)}r.exports={captureUncaughtExceptions:function(r,e,o){if(r){var t;if("function"==typeof e._rollbarOldOnError)t=e._rollbarOldOnError;else if(r.onerror){for(t=r.onerror;t._rollbarOldOnError;)t=t._rollbarOldOnError;e._rollbarOldOnError=t}e.handleAnonymousErrors();var a=function(){var o=Array.prototype.slice.call(arguments,0);n(r,e,t,o)};o&&(a._rollbarOldOnError=t),r.onerror=a}},captureUnhandledRejections:function(r,e,o){if(r){"function"==typeof r._rollbarURH&&r._rollbarURH.belongsToShim&&r.removeEventListener("unhandledrejection",r._rollbarURH);var n=function(r){var o,n,t;try{o=r.reason}catch(r){o=void 0}try{n=r.promise}catch(r){n="[unhandledrejection] error getting `promise` from event"}try{t=r.detail,!o&&t&&(o=t.reason,n=t.promise)}catch(r){}o||(o="[unhandledrejection] error getting `reason` from event"),e&&e.handleUnhandledRejection&&e.handleUnhandledRejection(o,n)};n.belongsToShim=o,r._rollbarURH=n,r.addEventListener("unhandledrejection",n)}}}},function(r,e,o){"use strict";function n(r,e,o){if(e.hasOwnProperty&&e.hasOwnProperty("addEventListener")){for(var n=e.addEventListener;n._rollbarOldAdd&&n.belongsToShim;)n=n._rollbarOldAdd;var t=function(e,o,t){n.call(this,e,r.wrap(o),t)};t._rollbarOldAdd=n,t.belongsToShim=o,e.addEventListener=t;for(var a=e.removeEventListener;a._rollbarOldRemove&&a.belongsToShim;)a=a._rollbarOldRemove;var l=function(r,e,o){a.call(this,r,e&&e._rollbar_wrapped||e,o)};l._rollbarOldRemove=a,l.belongsToShim=o,e.removeEventListener=l}}r.exports=function(r,e,o){if(r){var t,a,l="EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload".split(",");for(t=0;t<l.length;++t)r[a=l[t]]&&r[a].prototype&&n(e,r[a].prototype,o)}}},function(r,e,o){"use strict";function n(r,e){this.impl=r(e,this),this.options=e,function(r){for(var e=function(r){return function(){var e=Array.prototype.slice.call(arguments,0);if(this.impl[r])return this.impl[r].apply(this.impl,e)}},o="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(","),n=0;n<o.length;n++)r[o[n]]=e(o[n])}(n.prototype)}n.prototype._swapAndProcessMessages=function(r,e){var o,n,t;for(this.impl=r(this.options);o=e.shift();)n=o.method,t=o.args,this[n]&&"function"==typeof this[n]&&("captureDomContentLoaded"===n||"captureLoad"===n?this[n].apply(this,[t[0],o.ts]):this[n].apply(this,t));return this},r.exports=n},function(r,e,o){"use strict";r.exports=function(r){return function(e){if(!e&&!window._rollbarInitialized){for(var o,n,t=(r=r||{}).globalAlias||"Rollbar",a=window.rollbar,l=function(r){return new a(r)},i=0;o=window._rollbarShims[i++];)n||(n=o.handler),o.handler._swapAndProcessMessages(l,o.messages);window[t]=n,window._rollbarInitialized=!0}}}}]);
@@ -2,18 +2,16 @@ require 'rubygems/version'
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_ENGINE)
6
-
7
- gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
8
- gem 'jruby-openssl', :platform => :jruby
9
5
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
10
- gem 'rails', '3.0.20'
11
6
  gem 'hitimes', '< 1.2.2'
7
+ gem 'jruby-openssl', :platform => :jruby
12
8
  gem 'mixlib-shellout', '<= 2.0.0'
13
9
  gem 'net-ssh', '<= 3.1.1'
14
10
  gem 'public_suffix', '<= 2.0.5'
11
+ gem 'rails', '~> 3.0.20'
15
12
  gem 'rake', '< 11'
16
13
  gem 'rspec-rails', '>= 2.14.0'
14
+ gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
17
15
 
18
16
  if RUBY_VERSION < '2.2.2'
19
17
  gem 'sidekiq', '~> 2.13.0'
@@ -30,23 +28,24 @@ platforms :rbx do
30
28
  end
31
29
 
32
30
  gem 'capistrano', :require => false
33
- gem 'sucker_punch', '~> 2.0'
34
- gem 'shoryuken'
35
31
  gem 'codacy-coverage'
32
+ gem 'rexml', '<= 3.2.4'
33
+ gem 'shoryuken'
36
34
  gem 'simplecov', '<= 0.17.1'
35
+ gem 'sucker_punch', '~> 2.0'
37
36
 
38
- gem 'sinatra'
39
- gem 'delayed_job', :require => false
40
- gem 'redis', '<= 3.3.5'
41
- gem 'redis-namespace', '<= 1.5.0'
42
37
  gem 'database_cleaner', '~> 1.0.0'
38
+ gem 'delayed_job', :require => false
43
39
  gem 'genspec', '>= 0.2.8'
44
40
  gem 'girl_friday', '>= 0.11.1'
41
+ gem 'redis', '<= 3.3.5'
42
+ gem 'redis-namespace', '<= 1.5.0'
45
43
  gem 'rspec-command'
44
+ gem 'sinatra'
46
45
 
47
46
  gem 'webmock', :require => false
48
47
 
49
- gem 'resque', '< 2.0.0'
50
48
  gem 'aws-sdk-sqs'
49
+ gem 'resque', '< 2.0.0'
51
50
 
52
51
  gemspec :path => '../'
@@ -2,17 +2,15 @@ require 'rubygems/version'
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_ENGINE)
6
-
7
- gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
8
- gem 'jruby-openssl', :platform => :jruby
9
5
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
6
+ gem 'jruby-openssl', :platform => :jruby
10
7
  gem 'mixlib-shellout', '<= 2.0.0'
11
8
  gem 'net-ssh', '<= 3.1.1'
12
9
  gem 'public_suffix', '<= 2.0.5'
13
- gem 'rails', '3.1.12'
14
- gem 'rspec-rails', '~> 3.4'
10
+ gem 'rails', '~> 3.1.12'
15
11
  gem 'rake', '< 11'
12
+ gem 'rspec-rails', '~> 3.4'
13
+ gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
16
14
 
17
15
  if RUBY_VERSION < '2.2.2'
18
16
  gem 'sidekiq', '~> 2.13.0'
@@ -29,24 +27,25 @@ platforms :rbx do
29
27
  end
30
28
 
31
29
  gem 'capistrano', :require => false
32
- gem 'sucker_punch'
33
- gem 'shoryuken'
34
30
  gem 'codacy-coverage'
31
+ gem 'rexml', '<= 3.2.4'
32
+ gem 'shoryuken'
35
33
  gem 'simplecov', '<= 0.17.1'
34
+ gem 'sucker_punch'
36
35
 
37
- gem 'sinatra'
36
+ gem 'database_cleaner'
38
37
  gem 'delayed_job', :require => false
38
+ gem 'generator_spec'
39
+ gem 'girl_friday'
39
40
  gem 'rack-cache', '<= 1.9.0'
40
41
  gem 'redis', '<= 3.3.5'
41
42
  gem 'redis-namespace', '<= 1.5.0'
42
- gem 'database_cleaner'
43
- gem 'girl_friday'
44
- gem 'generator_spec'
45
43
  gem 'rspec-command'
44
+ gem 'sinatra'
46
45
 
47
46
  gem 'webmock', :require => false
48
47
 
49
- gem 'resque', '< 2.0.0'
50
48
  gem 'aws-sdk-sqs'
49
+ gem 'resque', '< 2.0.0'
51
50
 
52
51
  gemspec :path => '../'
@@ -2,14 +2,12 @@ require 'rubygems/version'
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_ENGINE)
6
-
7
5
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
8
6
  gem 'jruby-openssl', :platform => :jruby
9
7
  gem 'mixlib-shellout', '<= 2.0.0'
10
8
  gem 'net-ssh', '<= 3.1.1'
11
9
  gem 'public_suffix', '<= 2.0.5'
12
- gem 'rails', '3.2.22'
10
+ gem 'rails', '~> 3.2.22'
13
11
  gem 'rake'
14
12
  gem 'rspec-rails', '~> 3.4'
15
13
  gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
@@ -31,10 +29,11 @@ platforms :rbx do
31
29
  end
32
30
 
33
31
  gem 'capistrano', :require => false
34
- gem 'sucker_punch', '~> 2.0'
35
- gem 'shoryuken'
36
32
  gem 'codacy-coverage'
33
+ gem 'rexml', '<= 3.2.4'
34
+ gem 'shoryuken'
37
35
  gem 'simplecov', '<= 0.17.1'
36
+ gem 'sucker_punch', '~> 2.0'
38
37
 
39
38
  gem 'delayed_job', :require => false
40
39
  gem 'redis', '<= 3.3.5'
@@ -48,7 +47,7 @@ gem 'rspec-command'
48
47
 
49
48
  gem 'webmock', :require => false
50
49
 
51
- gem 'resque', '< 2.0.0'
52
50
  gem 'aws-sdk-sqs'
51
+ gem 'resque', '< 2.0.0'
53
52
 
54
53
  gemspec :path => '../'
@@ -2,14 +2,12 @@ require 'rubygems/version'
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_ENGINE)
6
-
7
5
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
8
6
  gem 'jruby-openssl', :platform => :jruby
9
7
  gem 'mixlib-shellout', '<= 2.0.0'
10
8
  gem 'net-ssh', '<= 3.1.1'
11
9
  gem 'public_suffix', '<= 2.0.5'
12
- gem 'rails', '4.0.13'
10
+ gem 'rails', '~> 4.0.13'
13
11
  gem 'rake'
14
12
  gem 'rspec-rails', '~> 3.4'
15
13
  gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
@@ -31,11 +29,11 @@ platforms :rbx do
31
29
  end
32
30
 
33
31
  gem 'capistrano', :require => false
34
- gem 'sucker_punch', '~> 2.0'
32
+ gem 'codacy-coverage'
35
33
  gem 'json', '~> 2.0'
36
34
  gem 'shoryuken'
37
- gem 'codacy-coverage'
38
35
  gem 'simplecov', '<= 0.17.1'
36
+ gem 'sucker_punch', '~> 2.0'
39
37
 
40
38
  gem 'delayed_job', :require => false
41
39
  gem 'redis', '<= 3.3.5'
@@ -2,14 +2,12 @@ require 'rubygems/version'
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_ENGINE)
6
-
7
5
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
8
6
  gem 'jruby-openssl', :platform => :jruby
9
7
  gem 'mixlib-shellout', '<= 2.0.0'
10
8
  gem 'net-ssh', '<= 3.1.1'
11
9
  gem 'public_suffix', '<= 2.0.5'
12
- gem 'rails', '4.1.12'
10
+ gem 'rails', '~> 4.1.16'
13
11
  gem 'rake'
14
12
  gem 'rspec-rails', '~> 3.4'
15
13
  gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
@@ -28,10 +26,10 @@ platforms :rbx do
28
26
  end
29
27
 
30
28
  gem 'capistrano', :require => false
31
- gem 'sucker_punch', '~> 2.0'
32
- gem 'shoryuken'
33
29
  gem 'codacy-coverage'
30
+ gem 'shoryuken'
34
31
  gem 'simplecov', '<= 0.17.1'
32
+ gem 'sucker_punch', '~> 2.0'
35
33
 
36
34
  gem 'delayed_job', :require => false
37
35
  gem 'redis', '<= 3.3.5'
@@ -46,7 +44,6 @@ gem 'rspec-command'
46
44
 
47
45
  gem 'webmock', :require => false
48
46
 
49
- gem 'resque'
50
47
  gem 'aws-sdk-sqs'
51
48
 
52
49
  gemspec :path => '../'
@@ -2,14 +2,11 @@ require 'rubygems/version'
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_ENGINE)
6
- is_not_jruby = !is_jruby
7
-
8
5
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
9
6
  gem 'jruby-openssl', :platform => :jruby
10
7
  gem 'net-ssh', '<= 3.1.1'
11
8
  gem 'public_suffix', '<= 2.0.5'
12
- gem 'rails', '4.2.8'
9
+ gem 'rails', '~> 4.2.11'
13
10
  gem 'rake'
14
11
  gem 'rspec-rails', '~> 3.4'
15
12
  gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
@@ -21,9 +18,7 @@ platforms :rbx do
21
18
  gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
22
19
  end
23
20
 
24
- if RUBY_VERSION < '2.0.0'
25
- gem 'json', '1.8.6'
26
- end
21
+ gem 'json', '1.8.6' if RUBY_VERSION < '2.0.0'
27
22
 
28
23
  if RUBY_VERSION < '2.2.2'
29
24
  gem 'sidekiq', '~> 2.13.0'
@@ -38,17 +33,17 @@ gem 'database_cleaner', '~> 1.0.0'
38
33
  gem 'delayed_job', :require => false
39
34
  gem 'generator_spec'
40
35
  gem 'girl_friday', '>= 0.11.1'
41
- gem 'rspec-command'
42
36
  gem 'redis', '<= 3.3.5'
43
37
  gem 'resque'
38
+ gem 'rspec-command'
44
39
  gem 'sinatra'
45
40
 
46
41
  gem 'nokogiri', '~> 1.6.0' if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new('2.0')
47
42
 
48
- gem 'sucker_punch', '~> 2.0'
49
- gem 'webmock', :require => false
50
43
  gem 'codacy-coverage'
51
44
  gem 'simplecov', '<= 0.17.1'
45
+ gem 'sucker_punch', '~> 2.0'
46
+ gem 'webmock', :require => false
52
47
 
53
48
  gem 'aws-sdk-sqs'
54
49
 
@@ -2,7 +2,7 @@ require 'rubygems/version'
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_ENGINE)
5
+ is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby')
6
6
 
7
7
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
8
8
  gem 'jruby-openssl', :platform => :jruby
@@ -12,10 +12,10 @@ gem 'rails', '~> 5.0.7'
12
12
  gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
13
13
 
14
14
  gem 'rspec-core', '~> 3.5.0.beta3'
15
- gem 'rspec-rails', '~> 3.5.0.beta3'
16
- gem 'rspec-support', '~> 3.5.0.beta3'
17
15
  gem 'rspec-expectations', '~> 3.5.0.beta3'
18
16
  gem 'rspec-mocks', '~> 3.5.0.beta3'
17
+ gem 'rspec-rails', '~> 3.5.0.beta3'
18
+ gem 'rspec-support', '~> 3.5.0.beta3'
19
19
 
20
20
  gem 'rake'
21
21
 
@@ -25,26 +25,25 @@ platforms :rbx do
25
25
  gem 'minitest'
26
26
  gem 'racc'
27
27
  gem 'rubinius-developer_tools'
28
- gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
28
+ gem 'rubysl', '~> 2.0' if RUBY_VERSION.start_with?('2')
29
29
  end
30
30
 
31
31
  gem 'capistrano', :require => false
32
- gem 'sucker_punch', '~> 2.0'
33
32
  gem 'codacy-coverage'
34
33
  gem 'simplecov', '<= 0.17.1'
34
+ gem 'sucker_punch', '~> 2.0'
35
35
 
36
- if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3')
37
- gem 'rack', '2.1.2'
38
- end
36
+ gem 'rack', '2.1.2' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3')
39
37
 
40
38
  # We need last sinatra that uses rack 2.1.x
41
- gem 'sinatra', :git => 'https://github.com/sinatra/sinatra', :tag => 'v2.0.8'
42
- gem 'database_cleaner'
39
+ gem 'database_cleaner', '~> 1.8.4'
43
40
  gem 'delayed_job', :require => false
44
41
  gem 'generator_spec'
45
42
  gem 'girl_friday', '>= 0.11.1'
46
43
  gem 'redis', '<= 3.3.5'
47
44
  gem 'resque'
45
+ gem 'secure_headers', '~> 6.3.2', :require => false
46
+ gem 'sinatra', :git => 'https://github.com/sinatra/sinatra', :tag => 'v2.0.8'
48
47
 
49
48
  unless is_jruby
50
49
  # JRuby doesn't support fork, which is required for this test helper.