Class: Bipbop::Client::Database

Inherits:
Object
  • Object
show all
Defined in:
lib/bipbop/database.rb

Constant Summary collapse

KEY_TABLE_NAME =
"name"
KEY_TABLE_DESCRIPTION =
"description"
KEY_TABLE_URL =
"url"

Instance Method Summary collapse

Constructor Details

#initialize(ws, dom_node, dom) ⇒ Database

Instância um Database

Parameters:

  • BIPBOP::Client::Webservice

    ws

  • Nokogiri::XML::Node

    dom_node

  • Nokogiri::XML::Document

    dom



18
19
20
21
22
# File 'lib/bipbop/database.rb', line 18

def initialize(ws, dom_node, dom)
  @ws = ws
  @dom_node = dom_node
  @dom = dom
end

Instance Method Details

#get(attribute) ⇒ Object



49
50
51
# File 'lib/bipbop/database.rb', line 49

def get(attribute)
  @dom_node[attribute]
end

#get_table(name) ⇒ Object



39
40
41
42
43
44
45
46
47
# File 'lib/bipbop/database.rb', line 39

def get_table(name)
  table = @dom_node.xpath(".//table[@name='%s']" % name.gsub(/[^a-z0-9\-_]/i, ''))
  if (table.length == 0) 
    raise Exception, "Can't find that table."
  end
  
  Bipbop::Client::Table.new(@ws, self, table.first, @dom)
  
end

#list_tablesObject



29
30
31
32
33
34
35
36
37
# File 'lib/bipbop/database.rb', line 29

def list_tables
  @dom_node.xpath("table").each { |node|
    yield [
      KEY_TABLE_NAME => node['name'],
      KEY_TABLE_DESCRIPTION => node["description"],
      KEY_TABLE_URL => node["url"]
    ]
  }
end

#nameObject

Captura o nome do database



25
26
27
# File 'lib/bipbop/database.rb', line 25

def name
  @dom_node['name']
end