Sha256: 411a9662eebe542b844c23829b933b4d3b4925327e11c681bca90d0a53601600

Contents?: true

Size: 864 Bytes

Versions: 10

Compression:

Stored size: 864 Bytes

Contents

module Lokii

  # The memory server is a stub server that just allows you to fill an 
  # inbox and pull from an outbox. It is good as an example or as the 
  # basis of a mock server.
  class MemoryServer < Server

    # Local inbox and outbox per instance as queues
    attr_accessor :inbox, :outbox
  
    def initialize
      self.inbox = []
      self.outbox = []
    end
  
    def check
      inbox.each {|message|
        handle(message)    
      }      
    end

    def complete(message)
      inbox.delete(message)
    end    

    def say(text, number, reply = nil)
      outbox << {:text => text, :number => number, :reply => reply}
    end
    
    def receive(text, number, sent)
      inbox << {:text => text, 
                :number => number, 
                :created_at => sent, 
                :processed_at => Time.now}
    end
  end  
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
jeffrafter-lokii-0.2.1 lib/lokii/servers/memory_server.rb
jeffrafter-lokii-0.2.2 lib/lokii/servers/memory_server.rb
jeffrafter-lokii-0.2.3 lib/lokii/servers/memory_server.rb
jeffrafter-lokii-0.2.5 lib/lokii/servers/memory_server.rb
jeffrafter-lokii-0.3.0 lib/lokii/servers/memory_server.rb
jeffrafter-lokii-0.3.1 lib/lokii/servers/memory_server.rb
jeffrafter-lokii-0.3.3 lib/lokii/servers/memory_server.rb
jeffrafter-lokii-0.4.0 lib/lokii/servers/memory_server.rb
jeffrafter-lokii-0.5.0 lib/lokii/servers/memory_server.rb
jeffrafter-lokii-0.6.0 lib/lokii/servers/memory_server.rb