sapience 2.5.4 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 082583db334e5fff1d6de299a25848c22faa69dd
4
- data.tar.gz: 8ea9117a75c74bcc52c8e4339576e2fc56d87ffa
3
+ metadata.gz: 8a5f9dd9f371b22ec6c89aa5ab0beac69ab71895
4
+ data.tar.gz: fe5782b862c1ae8c97566e20923f916b50cc6548
5
5
  SHA512:
6
- metadata.gz: ecf26ed2e95a788a328c40492ef61f0fa81cdb133ae6ba4e5fa2007820f4b574fb687ddc9f173f7eec33055de7877b853e9f6341e5504eadae356da91616745b
7
- data.tar.gz: 6a085768d78deeb6495d70a0602c22f1ed8e9f6da7ae6f70539cbd35c6761e54db1de7f46ade23892ad2bfa3c2bd1c2f43952aca3daf919e34a45a37e2dbdc18
6
+ metadata.gz: bd78b0f6ac4f5c8fbd92420fad1ca86fcf8924f67d1efbffad75b6ed1eda634d1b2bcdfa8796f5fa69e01f117b5a784154050947e73f4320dc5d4e66d043175a
7
+ data.tar.gz: 65a30edca0fb6441e28349e9d14c1ab9caae09052e8da191a194612e0f7d99a23329c122d5ab228ee16f64111e1bea111a0e1edb46732f2716139ff25a186a40
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## v2.6.0
2
+
3
+ - Add ability to reduce noise from default rails log subscribers with config option `silent_rails`
4
+
1
5
  ## v2.5.4
2
6
 
3
7
  - Add compatibility fix for concurrent-ruby library logger which expect `call` method to be defined
data/README.md CHANGED
@@ -115,6 +115,8 @@ how to configure the library according to your needs.
115
115
 
116
116
  The sapience configuration can be controlled by either a "sapience.yml" file, or a block of ruby code. Note that if you provide both, the block of ruby code will take precedence.
117
117
 
118
+ For a list of available configuration options look at class `Sapience::Configuration`
119
+
118
120
  #### Configuration by sapience.yml file
119
121
 
120
122
  Add a `config/sapience.yml` file to your application. The config file contains sections for different environments.
@@ -163,6 +165,7 @@ staging:
163
165
 
164
166
  production:
165
167
  log_level: info
168
+ silent_rails: true # make rails logging less noisy
166
169
  error_handler:
167
170
  sentry:
168
171
  dsn: <%= ENV['SENTRY_DSN'] %>
@@ -182,6 +185,7 @@ Sapience.configure(force: true) do |config|
182
185
  config.app_name = "My Application"
183
186
  config.default_level = :info
184
187
  config.backtrace_level = :error
188
+ config.silent_rails = true # make rails logging less noisy
185
189
  config.filter_parameters = %w(password password_confirmation)
186
190
  config.appenders = [
187
191
  { stream: { io: STDOUT, formatter: :color } },
@@ -60,9 +60,7 @@ module Sapience
60
60
  # logger = Sapience['test']
61
61
  # logger.info 'Hello World'
62
62
  def initialize(options = {}, &block)
63
- unless options[:io] || options[:file_name]
64
- fail ArgumentError, "missing mandatory argument :file_name or :io"
65
- end
63
+ fail ArgumentError, "missing mandatory argument :file_name or :io" unless options[:io] || options[:file_name]
66
64
 
67
65
  opts = options.dup
68
66
  if (io = opts.delete(:io))
@@ -75,7 +73,6 @@ module Sapience
75
73
  # Set the log level and formatter if supplied
76
74
  super(opts, &block)
77
75
  end
78
- # rubocop:enable AbcSize, CyclomaticComplexity, PerceivedComplexity
79
76
 
80
77
  # After forking an active process call #reopen to re-open
81
78
  # open the file handles etc to resources
@@ -87,7 +84,7 @@ module Sapience
87
84
  return unless @file_name
88
85
  ensure_folder_exist
89
86
 
90
- @log = open(@file_name, (::File::WRONLY | ::File::APPEND | ::File::CREAT))
87
+ @log = File.open(@file_name, (::File::WRONLY | ::File::APPEND | ::File::CREAT))
91
88
  # Force all log entries to write immediately without buffering
92
89
  # Allows multiple processes to write to the same log file simultaneously
93
90
  @log.sync = true
data/lib/sapience/base.rb CHANGED
@@ -237,7 +237,7 @@ module Sapience
237
237
  message = message.nil? ? result : "#{message} -- #{result}"
238
238
  elsif message.nil? && result.is_a?(Hash)
239
239
  message = result
240
- elsif payload && payload.respond_to?(:merge)
240
+ elsif payload && payload.respond_to?(:merge) # rubocop: disable Style/SafeNavigation
241
241
  payload.merge(result)
242
242
  else
243
243
  payload = result
@@ -1,4 +1,3 @@
1
- # encoding: utf-8
2
1
  # frozen_string_literal: true
3
2
 
4
3
  require "yaml"
@@ -62,9 +61,7 @@ module Sapience
62
61
 
63
62
  hash = yaml_safe_load(yaml_code, absolute_path) || {}
64
63
 
65
- unless hash.is_a?(Hash)
66
- fail(TypeError, "Malformed configuration in #{absolute_path}")
67
- end
64
+ fail(TypeError, "Malformed configuration in #{absolute_path}") unless hash.is_a?(Hash)
68
65
 
69
66
  hash
70
67
  end
@@ -7,7 +7,8 @@ module Sapience
7
7
  class Configuration
8
8
  attr_reader :default_level, :backtrace_level, :backtrace_level_index
9
9
  attr_writer :host
10
- attr_accessor :app_name, :ap_options, :appenders, :log_executor, :filter_parameters, :metrics, :error_handler
10
+ attr_accessor :app_name, :ap_options, :appenders, :log_executor, :filter_parameters,
11
+ :metrics, :error_handler, :silent_rails
11
12
 
12
13
  SUPPORTED_EXECUTORS = %i(single_thread_executor immediate_executor).freeze
13
14
  DEFAULT = {
@@ -19,6 +20,7 @@ module Sapience
19
20
  metrics: { datadog: { url: Sapience::DEFAULT_STATSD_URL } },
20
21
  error_handler: { silent: {} },
21
22
  filter_parameters: %w(password password_confirmation),
23
+ silent_rails: false,
22
24
  }.freeze
23
25
 
24
26
  # Initial default Level for all new instances of Sapience::Logger
@@ -37,6 +39,7 @@ module Sapience
37
39
  self.filter_parameters = @options[:filter_parameters]
38
40
  self.metrics = @options[:metrics]
39
41
  self.error_handler = @options[:error_handler]
42
+ self.silent_rails = @options[:silent_rails]
40
43
  end
41
44
 
42
45
  # Sets the global default log level
@@ -118,4 +121,5 @@ module Sapience
118
121
  fail InvalidLogExecutor, "#{log_executor} is unsupported. Use (#{SUPPORTED_EXECUTORS.join(", ")})"
119
122
  end
120
123
  end
124
+ # rubocop:enable ClassVars
121
125
  end
@@ -1,6 +1,4 @@
1
1
  # frozen_string_literal: true
2
- require "thread"
3
-
4
2
  class Thread
5
3
  # Returns the name of the current thread
6
4
  # Default:
@@ -38,9 +38,7 @@ module Sapience
38
38
  metrics.batch do
39
39
  metrics.increment metric_name, tags: tags
40
40
  metrics.timing("#{metric_name}.time", event.duration, tags: tags)
41
- if payload[:db_runtime]
42
- metrics.timing("#{metric_name}.time.db", payload[:db_runtime].round(10), tags: tags)
43
- end
41
+ metrics.timing("#{metric_name}.time.db", payload[:db_runtime].round(10), tags: tags) if payload[:db_runtime]
44
42
 
45
43
 
46
44
 
@@ -29,7 +29,7 @@ module Sapience
29
29
  error = catch(:error) do
30
30
  begin
31
31
  @app_response = @app.call(@env)
32
- rescue => e
32
+ rescue StandardError => e
33
33
  after_exception(e)
34
34
  raise e
35
35
  end
@@ -55,8 +55,8 @@ module Sapience
55
55
  @logger.info(parameters)
56
56
  end
57
57
 
58
- def after_exception(e)
59
- Sapience.push_tags(e.class.name, e.message)
58
+ def after_exception(exc)
59
+ Sapience.push_tags(exc.class.name, exc.message)
60
60
  @status = 500
61
61
  after
62
62
  end
data/lib/sapience/log.rb CHANGED
@@ -125,7 +125,7 @@ module Sapience
125
125
  # Returns [String, String] the file_name and line_number from the backtrace supplied
126
126
  # in either the backtrace or exception
127
127
  def file_name_and_line(short_name = false) # rubocop:disable CyclomaticComplexity
128
- return unless backtrace || (exception && exception.backtrace)
128
+ return unless backtrace || (exception && exception.backtrace) # rubocop: disable Style/SafeNavigation
129
129
  stack = backtrace || exception.backtrace
130
130
  extract_file_and_line(stack, short_name) if stack && !stack.empty?
131
131
  end
@@ -168,7 +168,7 @@ module Sapience
168
168
  # Ruby MRI supports micro seconds
169
169
  # DEPRECATED
170
170
  def formatted_time
171
- format("#{time.strftime("%Y-%m-%d %H:%M:%S")}.%06d", time.usec)
171
+ format("#{time.strftime("%Y-%m-%d %H:%M:%S")}.%06d", time.usec) # rubocop: disable Style/FormatStringToken
172
172
  end
173
173
 
174
174
  # Returns [Hash] representation of this log entry
@@ -27,5 +27,5 @@ module Sapience
27
27
  end
28
28
  end
29
29
  end
30
- # rubocop:enable TrivialAccessors
30
+
31
31
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  require "concurrent"
3
3
 
4
- # rubocop:disable ClassVars
4
+ # rubocop:disable ClassVars, Style/SafeNavigation
5
5
  module Sapience
6
6
  # Logger stores the class name to be used for all log messages so that every
7
7
  # log message written by this instance will include the class name
@@ -86,7 +86,6 @@ module Sapience
86
86
 
87
87
  # Separate appender thread responsible for reading log messages and
88
88
  # calling the appenders in it's thread
89
- # rubocop:disable LineLength
90
89
  def self.appender_thread
91
90
  @@appender_thread
92
91
  end
@@ -146,10 +145,10 @@ module Sapience
146
145
  end
147
146
  end
148
147
  end
149
- # rubocop:enable BlockNesting, AssignmentInCondition, PerceivedComplexity, CyclomaticComplexity, AbcSize, LineLength, RescueException
150
148
 
151
149
  def flush
152
150
  self.class.flush
153
151
  end
154
152
  end
155
153
  end
154
+ # rubocop:enable ClassVars, Style/SafeNavigation
@@ -28,7 +28,6 @@ module Sapience
28
28
  # tags: [String]
29
29
  # Example:
30
30
  # tag1:true
31
- # rubocop:disable CyclomaticComplexity, PerceivedComplexity
32
31
 
33
32
  def initialize(opts = {})
34
33
  options = opts.dup
@@ -39,7 +38,7 @@ module Sapience
39
38
  end
40
39
 
41
40
  def provider
42
- @_provider ||= ::Datadog::Statsd.new(@uri.host, @uri.port, dog_options)
41
+ @provider ||= ::Datadog::Statsd.new(@uri.host, @uri.port, dog_options)
43
42
  end
44
43
 
45
44
  def valid?
@@ -119,6 +118,8 @@ module Sapience
119
118
  # @example Create an Event with a custom aggregation_key
120
119
  # Sapience.metrics.event('article-published', "article #123", {aggregation_key: 'custom_aggregation_key')
121
120
 
121
+
122
+ # rubocop:disable CyclomaticComplexity, PerceivedComplexity
122
123
  def event(title, text = "", opts = {})
123
124
  return false unless valid?
124
125
  fail ArgumentError "Title must be provided" unless title
@@ -135,6 +136,7 @@ module Sapience
135
136
  title = "#{namespace_prefix}.#{title}" if namespaced_keys.include?(:title)
136
137
  provider.event(title, text, opts)
137
138
  end
139
+ # rubocop:enable CyclomaticComplexity, PerceivedComplexity
138
140
 
139
141
  def success(module_name, action, opts = {})
140
142
  increment("success", add_tags(module_name, action, opts))
@@ -72,6 +72,10 @@ module Sapience
72
72
  require "sapience/extensions/active_job/logging" if defined?(ActiveJob)
73
73
  # Replace the Bugsnag logger
74
74
  Bugsnag.configure { |config| config.logger = Sapience[Bugsnag] } if defined?(Bugsnag)
75
+
76
+ # Make rails less noisy
77
+ Silencer.remove_log_subscriptions if Sapience.config.silent_rails
78
+
75
79
  Sapience::Extensions::ActionController::LogSubscriber.attach_to :action_controller
76
80
  # Sapience::Extensions::ActiveSupport::MailerLogSubscriber.attach_to :action_mailer
77
81
  Sapience::Extensions::ActiveRecord::Notifications.use if defined?(ActiveRecord)
@@ -0,0 +1,30 @@
1
+ module Sapience
2
+ module Rails
3
+ module Silencer
4
+
5
+ # remove all rails log subscribers. Copied from project https://github.com/roidrage/lograge
6
+ def self.remove_log_subscriptions
7
+ ActiveSupport::LogSubscriber.log_subscribers.each do |subscriber|
8
+ case subscriber
9
+ when ActionView::LogSubscriber
10
+ unsubscribe(:action_view, subscriber)
11
+ when ActionController::LogSubscriber
12
+ unsubscribe(:action_controller, subscriber)
13
+ end
14
+ end
15
+ end
16
+
17
+ def self.unsubscribe(component, subscriber)
18
+ events = subscriber.public_methods(false).reject { |method| method.to_s == "call" }
19
+ events.each do |event|
20
+ ActiveSupport::Notifications.notifier.listeners_for("#{event}.#{component}").each do |listener|
21
+ if listener.instance_variable_get("@delegate") == subscriber
22
+ ActiveSupport::Notifications.unsubscribe listener
23
+ end
24
+ end
25
+ end
26
+ end
27
+
28
+ end
29
+ end
30
+ end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  require "sapience/rails/railtie"
3
3
  require "sapience/rails/engine"
4
+ require "sapience/rails/silencer"
4
5
 
5
6
  module Sapience
6
7
  module Rails
@@ -69,9 +69,7 @@ module Sapience
69
69
  end
70
70
 
71
71
  def self.default_options(options = {})
72
- unless environment =~ /default|rspec/
73
- warn "No configuration for environment #{environment}. Using 'default'"
74
- end
72
+ warn "No configuration for environment #{environment}. Using 'default'" unless environment =~ /default|rspec/
75
73
  options[DEFAULT_ENV]
76
74
  end
77
75
 
@@ -236,7 +234,7 @@ module Sapience
236
234
  end
237
235
 
238
236
  def self.known_appenders
239
- @_known_appenders ||= Sapience::Subscriber.descendants
237
+ @known_appenders ||= Sapience::Subscriber.descendants
240
238
  end
241
239
 
242
240
  # Examples:
@@ -466,7 +464,7 @@ module Sapience
466
464
  end
467
465
 
468
466
  def self.root
469
- @_root ||= Gem::Specification.find_by_name("sapience").gem_dir
467
+ @root ||= Gem::Specification.find_by_name("sapience").gem_dir
470
468
  end
471
469
 
472
470
  def self.app_name_builder
@@ -475,3 +473,4 @@ module Sapience
475
473
  ENV[APP_NAME]
476
474
  end
477
475
  end
476
+ # rubocop:enable ClassVars
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Sapience
3
- VERSION = "2.5.4"
3
+ VERSION = "2.6.0"
4
4
  end
data/sapience.gemspec CHANGED
@@ -1,6 +1,5 @@
1
- # coding: utf-8
2
1
  # frozen_string_literal: true
3
- lib = File.expand_path("../lib", __FILE__)
2
+ lib = File.expand_path("lib", __dir__)
4
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
4
  require "sapience/version"
6
5
 
@@ -27,23 +26,23 @@ Gem::Specification.new do |spec|
27
26
  spec.require_paths = ["lib"]
28
27
 
29
28
  spec.add_dependency "concurrent-ruby", "~> 1.0"
30
- spec.add_development_dependency "bundler", "~> 1.12"
31
- spec.add_development_dependency "rake", "~> 10.0"
32
- spec.add_development_dependency "rspec", "~> 3.0"
33
- spec.add_development_dependency "reevoocop"
34
- spec.add_development_dependency "fuubar"
35
- spec.add_development_dependency "simplecov"
36
- spec.add_development_dependency "simplecov-json"
37
- spec.add_development_dependency "rspec-its"
38
- spec.add_development_dependency "pry-nav"
39
- spec.add_development_dependency "sentry-raven"
40
- spec.add_development_dependency "dogstatsd-ruby", "~> 2.0"
41
- spec.add_development_dependency "rails", "~> 5.0.0.1"
42
- spec.add_development_dependency "grape"
43
29
  spec.add_development_dependency "active_model_serializers", "~> 0.10.0"
30
+ spec.add_development_dependency "appraisal"
31
+ spec.add_development_dependency "bundler", "~> 1.12"
44
32
  spec.add_development_dependency "codeclimate-test-reporter"
33
+ spec.add_development_dependency "dogstatsd-ruby", "~> 2.0"
34
+ spec.add_development_dependency "fuubar"
45
35
  spec.add_development_dependency "gem-release"
36
+ spec.add_development_dependency "grape"
46
37
  spec.add_development_dependency "memory_profiler"
38
+ spec.add_development_dependency "pry-nav"
39
+ spec.add_development_dependency "rails", "~> 5.0.0.1"
40
+ spec.add_development_dependency "rake", "~> 10.0"
41
+ spec.add_development_dependency "reevoocop"
42
+ spec.add_development_dependency "rspec", "~> 3.0"
43
+ spec.add_development_dependency "rspec-its"
47
44
  spec.add_development_dependency "rspec-prof"
48
- spec.add_development_dependency "appraisal"
45
+ spec.add_development_dependency "sentry-raven"
46
+ spec.add_development_dependency "simplecov"
47
+ spec.add_development_dependency "simplecov-json"
49
48
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sapience
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.4
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikael Henriksson
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-09-24 00:00:00.000000000 Z
12
+ date: 2018-10-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: concurrent-ruby
@@ -26,49 +26,49 @@ dependencies:
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.0'
28
28
  - !ruby/object:Gem::Dependency
29
- name: bundler
29
+ name: active_model_serializers
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '1.12'
34
+ version: 0.10.0
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '1.12'
41
+ version: 0.10.0
42
42
  - !ruby/object:Gem::Dependency
43
- name: rake
43
+ name: appraisal
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "~>"
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: '10.0'
48
+ version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '10.0'
55
+ version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
- name: rspec
57
+ name: bundler
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '3.0'
62
+ version: '1.12'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '3.0'
69
+ version: '1.12'
70
70
  - !ruby/object:Gem::Dependency
71
- name: reevoocop
71
+ name: codeclimate-test-reporter
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
@@ -82,21 +82,21 @@ dependencies:
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
- name: fuubar
85
+ name: dogstatsd-ruby
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ">="
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '0'
90
+ version: '2.0'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ">="
95
+ - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '0'
97
+ version: '2.0'
98
98
  - !ruby/object:Gem::Dependency
99
- name: simplecov
99
+ name: fuubar
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - ">="
@@ -110,7 +110,7 @@ dependencies:
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  - !ruby/object:Gem::Dependency
113
- name: simplecov-json
113
+ name: gem-release
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - ">="
@@ -124,7 +124,7 @@ dependencies:
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  - !ruby/object:Gem::Dependency
127
- name: rspec-its
127
+ name: grape
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - ">="
@@ -138,7 +138,7 @@ dependencies:
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  - !ruby/object:Gem::Dependency
141
- name: pry-nav
141
+ name: memory_profiler
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - ">="
@@ -152,7 +152,7 @@ dependencies:
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  - !ruby/object:Gem::Dependency
155
- name: sentry-raven
155
+ name: pry-nav
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - ">="
@@ -166,35 +166,35 @@ dependencies:
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  - !ruby/object:Gem::Dependency
169
- name: dogstatsd-ruby
169
+ name: rails
170
170
  requirement: !ruby/object:Gem::Requirement
171
171
  requirements:
172
172
  - - "~>"
173
173
  - !ruby/object:Gem::Version
174
- version: '2.0'
174
+ version: 5.0.0.1
175
175
  type: :development
176
176
  prerelease: false
177
177
  version_requirements: !ruby/object:Gem::Requirement
178
178
  requirements:
179
179
  - - "~>"
180
180
  - !ruby/object:Gem::Version
181
- version: '2.0'
181
+ version: 5.0.0.1
182
182
  - !ruby/object:Gem::Dependency
183
- name: rails
183
+ name: rake
184
184
  requirement: !ruby/object:Gem::Requirement
185
185
  requirements:
186
186
  - - "~>"
187
187
  - !ruby/object:Gem::Version
188
- version: 5.0.0.1
188
+ version: '10.0'
189
189
  type: :development
190
190
  prerelease: false
191
191
  version_requirements: !ruby/object:Gem::Requirement
192
192
  requirements:
193
193
  - - "~>"
194
194
  - !ruby/object:Gem::Version
195
- version: 5.0.0.1
195
+ version: '10.0'
196
196
  - !ruby/object:Gem::Dependency
197
- name: grape
197
+ name: reevoocop
198
198
  requirement: !ruby/object:Gem::Requirement
199
199
  requirements:
200
200
  - - ">="
@@ -208,21 +208,21 @@ dependencies:
208
208
  - !ruby/object:Gem::Version
209
209
  version: '0'
210
210
  - !ruby/object:Gem::Dependency
211
- name: active_model_serializers
211
+ name: rspec
212
212
  requirement: !ruby/object:Gem::Requirement
213
213
  requirements:
214
214
  - - "~>"
215
215
  - !ruby/object:Gem::Version
216
- version: 0.10.0
216
+ version: '3.0'
217
217
  type: :development
218
218
  prerelease: false
219
219
  version_requirements: !ruby/object:Gem::Requirement
220
220
  requirements:
221
221
  - - "~>"
222
222
  - !ruby/object:Gem::Version
223
- version: 0.10.0
223
+ version: '3.0'
224
224
  - !ruby/object:Gem::Dependency
225
- name: codeclimate-test-reporter
225
+ name: rspec-its
226
226
  requirement: !ruby/object:Gem::Requirement
227
227
  requirements:
228
228
  - - ">="
@@ -236,7 +236,7 @@ dependencies:
236
236
  - !ruby/object:Gem::Version
237
237
  version: '0'
238
238
  - !ruby/object:Gem::Dependency
239
- name: gem-release
239
+ name: rspec-prof
240
240
  requirement: !ruby/object:Gem::Requirement
241
241
  requirements:
242
242
  - - ">="
@@ -250,7 +250,7 @@ dependencies:
250
250
  - !ruby/object:Gem::Version
251
251
  version: '0'
252
252
  - !ruby/object:Gem::Dependency
253
- name: memory_profiler
253
+ name: sentry-raven
254
254
  requirement: !ruby/object:Gem::Requirement
255
255
  requirements:
256
256
  - - ">="
@@ -264,7 +264,7 @@ dependencies:
264
264
  - !ruby/object:Gem::Version
265
265
  version: '0'
266
266
  - !ruby/object:Gem::Dependency
267
- name: rspec-prof
267
+ name: simplecov
268
268
  requirement: !ruby/object:Gem::Requirement
269
269
  requirements:
270
270
  - - ">="
@@ -278,7 +278,7 @@ dependencies:
278
278
  - !ruby/object:Gem::Version
279
279
  version: '0'
280
280
  - !ruby/object:Gem::Dependency
281
- name: appraisal
281
+ name: simplecov-json
282
282
  requirement: !ruby/object:Gem::Requirement
283
283
  requirements:
284
284
  - - ">="
@@ -374,6 +374,7 @@ files:
374
374
  - lib/sapience/rails.rb
375
375
  - lib/sapience/rails/engine.rb
376
376
  - lib/sapience/rails/railtie.rb
377
+ - lib/sapience/rails/silencer.rb
377
378
  - lib/sapience/sapience.rb
378
379
  - lib/sapience/sneakers.rb
379
380
  - lib/sapience/subscriber.rb