class Mecha::Generators::SentryGenerator
Public Instance Methods
add_gem()
click to toggle source
# File lib/mecha/generators/sentry/sentry_generator.rb, line 8 def add_gem gem 'sentry-raven' end
add_sentry_js_partial()
click to toggle source
# File lib/mecha/generators/sentry/sentry_generator.rb, line 16 def add_sentry_js_partial copy_file('_sentry.html.erb', 'app/views/layouts/_sentry.html.erb') inject_into_file( 'app/views/layouts/application.html.erb', "\n\n <%= render 'layouts/sentry' if Rails.env.staging? || Rails.env.production? %>", before: "\n </head>" ) message = <<-MESSAGE.strip_heredoc Add SENTRY_JS environment variable. Get your Sentry DSN at https://docs.sentry.io/clients/javascript/. MESSAGE say message end
config_application_controller()
click to toggle source
# File lib/mecha/generators/sentry/sentry_generator.rb, line 39 def config_application_controller inject_into_file( 'app/controllers/application_controller.rb', application_controller_set_raven_context, before: 'end' ) inject_into_file( 'app/controllers/application_controller.rb', application_controller_before_action, after: 'class ApplicationController < ActionController::Base' ) end
config_application_rb()
click to toggle source
# File lib/mecha/generators/sentry/sentry_generator.rb, line 34 def config_application_rb application('config.filter_parameters << :password') environment('config.action_dispatch.show_exceptions = false', env: 'production') end
config_sentry()
click to toggle source
# File lib/mecha/generators/sentry/sentry_generator.rb, line 12 def config_sentry copy_file('sentry.rb', 'config/initializers/sentry.rb') end
Private Instance Methods
application_controller_before_action()
click to toggle source
# File lib/mecha/generators/sentry/sentry_generator.rb, line 55 def application_controller_before_action "\n before_action :set_raven_context" end
application_controller_set_raven_context()
click to toggle source
# File lib/mecha/generators/sentry/sentry_generator.rb, line 59 def application_controller_set_raven_context <<-DOC.strip_heredoc private def set_raven_context Raven.user_context(id: session[:current_user_id]) Raven.extra_context(params: params.to_unsafe_h, url: request.url) end DOC end