lib/messenger.rb in webmoney-0.0.4.6 vs lib/messenger.rb in webmoney-0.0.4.8
- old
+ new
@@ -1,29 +1,31 @@
require 'thread'
-class Webmoney
+module Webmoney
class Messenger
-
- def initialize(owner)
+
+ attr_reader :thread
+
+ def initialize(owner, &logger)
@webmoney = owner
@queue = Queue.new
@thread = Thread.new(@queue) do |q|
loop do
msg = q.pop
unless msg.nil?
begin
result = @webmoney.request(:send_message, msg)
- # Requeue if fail
+ logger.call(msg, result)
+ # Requeue message on fail
@queue.push(msg) unless result.kind_of?(Hash)
rescue ResultError, ResponseError => e
- # TODO Replace this to logger call
- # puts "#{e}: #{@webmoney.error} #{@webmoney.errormsg}"
-
+ logger.call(msg, e)
# Requeue message
@queue.push(msg)
end
end
+ sleep(0.2)
end
end
end
def push(msg)
\ No newline at end of file