class Gentle::Blackboard

Attributes

client[R]

Public Class Methods

new(client) click to toggle source
# File lib/gentle/blackboard.rb, line 7
def initialize(client)
  @client = client
end

Public Instance Methods

build_document(type, contents) click to toggle source
# File lib/gentle/blackboard.rb, line 35
def build_document(type, contents)
  namespace = if Response.valid_type?(type)
    Documents::Response
  elsif Request.valid_type?(type)
    Documents::Request
  end
  namespace.const_get(type).new(:io => contents) if namespace
end
fetch(message) click to toggle source
# File lib/gentle/blackboard.rb, line 18
def fetch(message)
  bucket = client.from_quiet_bucket
  contents = bucket.objects[message.document_name].read
  build_document(message.document_type, contents)
end
post(document) click to toggle source
# File lib/gentle/blackboard.rb, line 11
def post(document)
  bucket = client.to_quiet_bucket
  if bucket.objects[document.filename].write(document.to_xml)
    Message.new(:client => @client, :document => document)
  end
end
remove(message) click to toggle source
# File lib/gentle/blackboard.rb, line 24
def remove(message)
  bucket = client.from_quiet_bucket
  object = bucket.objects[message.document_name]
  if object.exists?
    object.delete
    true
  else
    false
  end
end