Sha256: b474fddb5af9098bca7a142c102f7be40d62f6cededdfc4b9c72b1685dd59485
Contents?: true
Size: 819 Bytes
Versions: 3
Compression:
Stored size: 819 Bytes
Contents
require 'thread' class Webmoney class Messenger def initialize(owner) @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 @queue.push(msg) unless result.kind_of?(Hash) rescue ResultError, ResponseError => e # TODO Replace this to logger call # puts "#{e}: #{@webmoney.error} #{@webmoney.errormsg}" # Requeue message @queue.push(msg) end end end end end def push(msg) @queue.push(msg) end # TODO callback on success send message end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
webmoney-0.0.4.5 | lib/messenger.rb |
webmoney-0.0.4.6 | lib/messenger.rb |
webmoney-0.0.4.4 | lib/messenger.rb |