Module: Combi
- Defined in:
- lib/combi.rb,
lib/combi/helpers.rb,
lib/combi/version.rb,
lib/combi/buses/bus.rb,
lib/combi/buses/http.rb,
lib/combi/buses/queue.rb,
lib/combi/buses/in_process.rb,
lib/combi/buses/web_socket.rb,
lib/combi/buses/correlation.rb
Defined Under Namespace
Modules: Service
Classes: Bus, Correlation, Http, InProcess, Queue, QueueService, Reactor, ResponseStore, ServiceBus, ServiceError, WebSocket
Constant Summary
collapse
- VERSION =
'0.4.0'
Class Method Summary
collapse
Class Method Details
.logger ⇒ Object
4
5
6
|
# File 'lib/combi.rb', line 4
def self.logger
@logger ||= create_logger
end
|
.logger_class ⇒ Object
8
9
10
|
# File 'lib/combi.rb', line 8
def self.logger_class
@logger_class ||= Logger
end
|
.logger_class=(custom_class) ⇒ Object
12
13
14
|
# File 'lib/combi.rb', line 12
def self.logger_class=(custom_class)
@logger_class = custom_class
end
|
.wait_for(defer, options = {}, &block) ⇒ Object
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/combi/helpers.rb', line 8
def self.wait_for(defer, options = {}, &block)
options[:timeout] ||= 2
waiter_thread = Thread.current
success_response, error_response = nil
defer.callback { |response|
success_response = response
waiter_thread.wakeup
}
defer.errback { |response|
STDERR << "waiting for result, received an error: #{response.inspect}\n"
error_response = response
waiter_thread.wakeup
}
Timeout::timeout(options[:timeout]) do
Thread.stop
raise ServiceError.new(error_response) if error_response
block.call success_response
end
end
|