Module: Sunspot::Queue::Helpers

Instance Method Summary collapse

Instance Method Details

#constantize(klass) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/sunspot/queue/helpers.rb', line 20

def constantize(klass)
  names = klass.to_s.split('::')
  names.shift if names.empty? || names.first.empty?

  constant = Object
  names.each do |name|
    constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name)
  end
  constant
end

#without_proxyObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/sunspot/queue/helpers.rb', line 5

def without_proxy
  proxy = nil

  # Pop off the queueing proxy for the block if it's in place so we don't
  # requeue the same job multiple times.
  if Sunspot.session.is_a?(SessionProxy)
    proxy = Sunspot.session
    Sunspot.session = proxy.session
  end

  yield
ensure
  Sunspot.session = proxy if proxy
end