Module: RailsNexus

Defined in:
lib/rails_nexus.rb,
lib/rails_nexus/engine.rb,
lib/rails_nexus/logger.rb,
lib/rails_nexus/cleanup.rb,
lib/rails_nexus/version.rb,
lib/rails_nexus/breadcrumbs.rb,
lib/rails_nexus/configuration.rb,
lib/rails_nexus/notifications.rb,
app/models/rails_nexus/comment.rb,
lib/rails_nexus/webhook_client.rb,
app/models/rails_nexus/cron_job.rb,
lib/rails_nexus/database_adapter.rb,
lib/rails_nexus/storm_protection.rb,
app/models/rails_nexus/base_record.rb,
app/jobs/rails_nexus/application_job.rb,
app/models/rails_nexus/logged_exception.rb,
app/models/rails_nexus/webhook_delivery.rb,
app/models/rails_nexus/application_record.rb,
app/helpers/rails_nexus/application_helper.rb,
app/helpers/rails_nexus/source_code_helper.rb,
app/mailers/rails_nexus/application_mailer.rb,
app/models/rails_nexus/logged_exception_n1.rb,
app/controllers/rails_nexus/stats_controller.rb,
lib/generators/rails_nexus/install_generator.rb,
lib/generators/rails_nexus/customize_generator.rb,
app/controllers/rails_nexus/settings_controller.rb,
app/controllers/rails_nexus/workflow_controller.rb,
app/controllers/rails_nexus/analytics_controller.rb,
app/controllers/rails_nexus/cron_jobs_controller.rb,
app/helpers/rails_nexus/logged_exceptions_helper.rb,
app/controllers/rails_nexus/application_controller.rb,
app/controllers/rails_nexus/n1_patterns_controller.rb,
app/controllers/rails_nexus/source_code_controller.rb,
app/controllers/rails_nexus/database_health_controller.rb,
app/controllers/rails_nexus/logged_exceptions_controller.rb

Defined Under Namespace

Modules: ApplicationHelper, Breadcrumbs, Cleanup, DatabaseAdapter, ExceptionLoggable, Generators, LoggedExceptionN1, LoggedExceptionsHelper, Notifications, SourceCodeHelper, StormProtection Classes: AnalyticsController, ApplicationController, ApplicationJob, ApplicationMailer, ApplicationRecord, BaseRecord, Comment, Configuration, CronJob, CronJobsController, DatabaseHealthController, Engine, LoggedException, LoggedExceptionsController, Logger, N1PatternsController, SettingsController, SourceCodeController, StatsController, WebhookClient, WebhookDelivery, WorkflowController

Constant Summary collapse

DEFAULT_FILTER_PARAMETERS =
%i[
  password passw passwd secret token api_key apikey authorization cookie session
].freeze
VERSION =
"2.1.5"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configuration ⇒ Object



24
25
26
# File 'lib/rails_nexus.rb', line 24

def configuration
  @configuration ||= Configuration.new
end

Class Method Details

.application_name ⇒ Object

Backward-compatible accessor for application_name



33
34
35
# File 'lib/rails_nexus.rb', line 33

def application_name
  configuration.application_name
end

.application_name=(value) ⇒ Object



37
38
39
# File 'lib/rails_nexus.rb', line 37

def application_name=(value)
  configuration.application_name = value
end

.configure {|configuration| ... } ⇒ Object

Yields:



28
29
30
# File 'lib/rails_nexus.rb', line 28

def configure
  yield(configuration)
end

.filter_sensitive_data(value) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/rails_nexus.rb', line 51

def filter_sensitive_data(value)
  value = value.to_unsafe_h if value.respond_to?(:to_unsafe_h)

  case value
  when Hash
    parameter_filter.filter(value)
  when Array
    value.map { |entry| filter_sensitive_data(entry) }
  else
    value
  end
end

.logger ⇒ Object

Convenience logger accessor



42
43
44
# File 'lib/rails_nexus.rb', line 42

def logger
  RailsNexus::Logger
end

.parameter_filter ⇒ Object



46
47
48
49
# File 'lib/rails_nexus.rb', line 46

def parameter_filter
  configured = defined?(::Rails) ? ::Rails.application.config.filter_parameters : []
  ActiveSupport::ParameterFilter.new(DEFAULT_FILTER_PARAMETERS + Array(configured))
end