module Delayed::Plugins::Raven::Plugin::Notify
Public Instance Methods
error(job, error)
click to toggle source
Calls superclass method
# File lib/delayed-plugins-raven.rb, line 11 def error(job, error) begin ::Raven.capture_exception(error, { configuration: ::Delayed::Plugins::Raven.raven_configuration, extra: { delayed_job: get_job_json(job) } }) rescue Exception => e Rails.logger.error "Raven logging failed: #{e.class.name}: #{e.message}" Rails.logger.flush end super if defined?(super) end
Private Instance Methods
get_job_json(job)
click to toggle source
# File lib/delayed-plugins-raven.rb, line 26 def get_job_json(job) json = job.as_json["job"] if (excluded_attributes = plugin_config.excluded_attributes).present? excluded_attributes.each { |attribute| json.delete(attribute) } end if (limits = plugin_config.trimmed_attributes).present? limits.each do |attribute, limit| json[attribute] = trim_lines(json[attribute], limit) if limit > 0 end end json end
plugin_config()
click to toggle source
# File lib/delayed-plugins-raven.rb, line 47 def plugin_config ::Delayed::Plugins::Raven.plugin_configuration ||= ::Delayed::Plugins::Raven::Configuration.new end
trim_lines(string, limit)
click to toggle source
# File lib/delayed-plugins-raven.rb, line 42 def trim_lines(string, limit) return string unless limit string.lines.to_a.map(&:strip).slice(0, limit).join("\n") if string.present? end