class Bipbop::Client::ServiceDiscovery

Constants

KEY_DATABASE_DESCRIPTION
KEY_DATABASE_NAME
KEY_DATABASE_URL

Public Class Methods

factory(ws, parameters = {}) click to toggle source
# File lib/bipbop/service_discovery.rb, line 17
def self.factory(ws, parameters = {})
  ServiceDiscovery.new(ws, ws.post("SELECT FROM 'INFO'.'INFO'", parameters))
end
new(ws, databases) click to toggle source
# File lib/bipbop/service_discovery.rb, line 12
def initialize (ws, databases)
  @ws = ws
  @list_databases = databases
end

Public Instance Methods

get_database(name) click to toggle source
# File lib/bipbop/service_discovery.rb, line 31
def get_database(name)
  database = @list_databases.xpath("/BPQL/body/database[@name='%s']" % [name.gsub(/[^a-z0-9]/i, '')])
  if (database.length == 0) 
      raise Exception, "Can't find that database."
  end
  
  Bipbop::Client::Database.new(@ws, database.first, @list_databases)
  
end
list_databases() { |KEY_DATABASE_NAME => node, KEY_DATABASE_DESCRIPTION => node, KEY_DATABASE_URL => node["url"| ... } click to toggle source
# File lib/bipbop/service_discovery.rb, line 21
def list_databases
  @list_databases.xpath("//BPQL//body//database").each { |node| 
    yield [
      KEY_DATABASE_NAME => node["name"],
      KEY_DATABASE_DESCRIPTION => node["description"],
      KEY_DATABASE_URL => node["url"]
    ]
  }      
end