module Sidekiq::Symbols::Symbolizer
Public Instance Methods
perform(*args)
click to toggle source
Calls superclass method
# File lib/sidekiq/symbols.rb, line 10 def perform(*args) symbolized_args = args.map do |arg| if __sidekiq_symbols_should_process?(arg) __sidekiq_symbols_symbolize_keys(arg) else arg end end.to_a super(*symbolized_args) end
Private Instance Methods
__sidekiq_symbols_should_process?(arg)
click to toggle source
# File lib/sidekiq/symbols.rb, line 39 def __sidekiq_symbols_should_process?(arg) arg.is_a?(Hash) || arg.is_a?(Array) end
__sidekiq_symbols_symbolize_keys(arg)
click to toggle source
# File lib/sidekiq/symbols.rb, line 23 def __sidekiq_symbols_symbolize_keys(arg) case arg when Hash h = {} arg.each do |k, v| k = k.to_sym if k.respond_to?(:to_sym) h[k] = __sidekiq_symbols_should_process?(v) ? __sidekiq_symbols_symbolize_keys(v) : v end h when Array arg.map { |v| __sidekiq_symbols_should_process?(v) ? __sidekiq_symbols_symbolize_keys(v) : v } else arg end end