Skip to content

Commit

Permalink
Merge pull request #24 from julienbourdeau/fix/adapter_name
Browse files Browse the repository at this point in the history
fix #20 - undefined method `adapter_name` for ActiveJob:Module
  • Loading branch information
julienbourdeau committed Mar 30, 2024
2 parents 6f7fc11 + f29ae6e commit b5ee000
Showing 1 changed file with 13 additions and 3 deletions.
16 changes: 13 additions & 3 deletions lib/debugbar/subscribers/active_job.rb
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,25 @@ def enqueue_at(event)
# else
# failed_enqueue_count = jobs.size - enqueued_count
# "Failed enqueuing #{failed_enqueue_count} #{'job'.pluralize(failed_enqueue_count)} "\
# "to #{ActiveJob.adapter_name(adapter)}"
# "to #{adapter_name(adapter)}"
# end
# end
# end
# # subscribe_log_level :enqueue_all, :info

private

# See ActiveJob.adapter_name for orignal implementation. This is redefined here
# to be compatible with the older Rails version.
def adapter_name(adapter) # :nodoc:
return adapter.queue_adapter_name if adapter.respond_to?(:queue_adapter_name)

adapter_class = adapter.is_a?(Module) ? adapter : adapter.class
"#{adapter_class.name.demodulize.delete_suffix('Adapter')}"
end

def queue_name(event)
ActiveJob.adapter_name(event.payload[:adapter]) + "(#{event.payload[:job].queue_name})"
adapter_name(event.payload[:adapter]) + "(#{event.payload[:job].queue_name})"
end

def args_info(job)
Expand Down Expand Up @@ -150,7 +160,7 @@ def extract_enqueue_source_location(locations)
def enqueued_jobs_message(adapter, enqueued_jobs)
enqueued_count = enqueued_jobs.size
job_classes_counts = enqueued_jobs.map(&:class).tally.sort_by { |_k, v| -v }
"Enqueued #{enqueued_count} #{'job'.pluralize(enqueued_count)} to #{ActiveJob.adapter_name(adapter)}"\
"Enqueued #{enqueued_count} #{'job'.pluralize(enqueued_count)} to #{adapter_name(adapter)}"\
" (#{job_classes_counts.map { |klass, count| "#{count} #{klass}" }.join(', ')})"
end
end
Expand Down

0 comments on commit b5ee000

Please sign in to comment.