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