Module: Sidekiq::Defer::PsychAutoload

Defined in:
lib/sidekiq/defer.rb

Instance Method Summary collapse

Instance Method Details

#resolve_class(klass_name) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/sidekiq/defer.rb', line 35

def resolve_class(klass_name)
  return nil if !klass_name || klass_name.empty?

  # constantize
  names = klass_name.split('::')
  names.shift if names.empty? || names.first.empty?

  names.inject(Object) do |constant, name|
    constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name)
  end
rescue NameError
  super
end