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.4"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject



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

def configuration
  @configuration ||= Configuration.new
end

Class Method Details

.application_nameObject

Backward-compatible accessor for application_name



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

def application_name
  configuration.application_name
end

.application_name=(value) ⇒ Object



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

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

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

Yields:



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

def configure
  yield(configuration)
end

.filter_sensitive_data(value) ⇒ Object



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

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

.loggerObject

Convenience logger accessor



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

def logger
  RailsNexus::Logger
end

.parameter_filterObject



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

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