Class: Rfm::Factory::LayoutFactory

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

Instance Method Summary collapse

Methods inherited from CaseInsensitiveHash

#[]=

Constructor Details

#initialize(server, database) ⇒ LayoutFactory

Returns a new instance of LayoutFactory.



37
38
39
40
41
# File 'lib/rfm/utilities/factory.rb', line 37

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

Instance Method Details

#[](layout_name) ⇒ Object



43
44
45
# File 'lib/rfm/utilities/factory.rb', line 43

def [](layout_name)
  super or (self[layout_name] = Rfm::Layout.new(layout_name, @database))
end

#allObject



47
48
49
50
51
52
53
54
55
56
# File 'lib/rfm/utilities/factory.rb', line 47

def all
  if !@loaded
   Rfm::Resultset.new(@server, @server.connect(@server.state[:account_name], @server.state[:password], '-layoutnames', {"-db" => @database.name}).body, nil).each {|record|
     name = record['LAYOUT_NAME']
     self[name] = Rfm::Layout.new(name, @database) if self[name] == nil
   }
    @loaded = true
  end
  self.keys
end