Class: APIHub::LeadScore::Async

Inherits:
Object
  • Object
show all
Defined in:
lib/apihub/lead_score/async.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Async

Returns a new instance of Async.



21
22
23
# File 'lib/apihub/lead_score/async.rb', line 21

def initialize(options = {})
  @pool = options[:pool] || Thread.pool(8)
end

Instance Attribute Details

#poolObject (readonly)

Returns the value of attribute pool.



19
20
21
# File 'lib/apihub/lead_score/async.rb', line 19

def pool
  @pool
end

Class Method Details

.finishObject



14
15
16
17
# File 'lib/apihub/lead_score/async.rb', line 14

def self.finish
  instance.finish
  @instance = nil
end

.instanceObject



6
7
8
# File 'lib/apihub/lead_score/async.rb', line 6

def self.instance
  @instance ||= self.new
end

.lookup(email, &block) ⇒ Object



10
11
12
# File 'lib/apihub/lead_score/async.rb', line 10

def self.lookup(email, &block)
  instance.lookup(email, &block)
end

Instance Method Details

#finishObject



31
32
33
# File 'lib/apihub/lead_score/async.rb', line 31

def finish
  pool.shutdown
end

#lookup(email, &block) ⇒ Object



25
26
27
28
29
# File 'lib/apihub/lead_score/async.rb', line 25

def lookup(email, &block)
  pool.process do
    block.call LeadScore.lookup(email)
  end
end