Class: PgLocksMonitor::Configuration
- Inherits:
-
Object
- Object
- PgLocksMonitor::Configuration
- Defined in:
- lib/pg_locks_monitor/configuration.rb
Constant Summary collapse
- DEFAULT =
{ locks_limit: 5, monitor_locks: true, monitor_blocking: true, locks_min_duration_ms: 200, blocking_min_duration_ms: 100, notify_logs: true, notify_slack: false, slack_webhook_url: nil, slack_channel: nil, notifier_class: PgLocksMonitor::DefaultNotifier, locks_filter_proc: ->(lock) { true }, blocking_filter_proc: ->(lock) { true }, }
- DEFAULT_CONFIG_FILE =
"# Configuration for pg-locks-monitor\n\nPgLocksMonitor.configure do |config|\n config.locks_limit = \#{DEFAULT[:locks_limit]}\n\n config.monitor_locks = \#{DEFAULT[:monitor_locks]}\n config.monitor_blocking = \#{DEFAULT[:monitor_blocking]}\n\n config.locks_min_duration_ms = \#{DEFAULT[:locks_min_duration_ms]}\n config.blocking_min_duration_ms = \#{DEFAULT[:blocking_min_duration_ms]}\n\n config.notify_logs = \#{DEFAULT[:notify_logs]}\n\n config.notify_slack = \#{DEFAULT[:notify_slack]}\n config.slack_webhook_url = \"\#{DEFAULT[:slack_webhook_url]}\"\n config.slack_channel = \"\#{DEFAULT[:slack_channel]}\"\n\n config.notifier_class = \#{DEFAULT[:notifier_class]}\n\n config.locks_filter_proc = ->(lock) { true }\n config.blocking_filter_proc = ->(lock) { true }\nend\n"
Instance Method Summary collapse
-
#initialize(attrs) ⇒ Configuration
constructor
A new instance of Configuration.
Constructor Details
#initialize(attrs) ⇒ Configuration
Returns a new instance of Configuration.
22 23 24 25 26 27 |
# File 'lib/pg_locks_monitor/configuration.rb', line 22 def initialize(attrs) DEFAULT.keys.each do |key| value = attrs.fetch(key) { DEFAULT.fetch(key) } public_send("#{key}=", value) end end |