Class: Rfm::Factory::DbFactory

Inherits:
CaseInsensitiveHash show all
Defined in:
lib/rfm/utilities/factory.rb

Instance Method Summary collapse

Methods inherited from CaseInsensitiveHash

#[]=

Constructor Details

#initialize(server) ⇒ DbFactory

Returns a new instance of DbFactory.



13
14
15
16
# File 'lib/rfm/utilities/factory.rb', line 13

def initialize(server)
  @server = server
  @loaded = false
end

Instance Method Details

#[](dbname) ⇒ Object



18
19
20
# File 'lib/rfm/utilities/factory.rb', line 18

def [](dbname)
  super or (self[dbname] = Rfm::Database.new(dbname, @server))
end

#allObject



22
23
24
25
26
27
28
29
30
31
# File 'lib/rfm/utilities/factory.rb', line 22

def all
  if !@loaded
    Rfm::Resultset.new(@server, @server.connect(@server.state[:account_name], @server.state[:password], '-dbnames', {}).body, nil).each {|record|
      name = record['DATABASE_NAME']
      self[name] = Rfm::Database.new(name, @server) if self[name] == nil
    }
    @loaded = true
  end
  self.keys
end