Class: Rfm::Factory::LayoutFactory

Inherits:
Hash
  • Object
show all
Defined in:
lib/rfm_factory.rb

Instance Method Summary collapse

Constructor Details

#initialize(server, database) ⇒ LayoutFactory

Returns a new instance of LayoutFactory.



28
29
30
31
32
# File 'lib/rfm_factory.rb', line 28

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

Instance Method Details

#[](layout_name) ⇒ Object



34
35
36
# File 'lib/rfm_factory.rb', line 34

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

#allObject



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

def all
  if !@loaded
    Rfm::Result::ResultSet.new(@server.do_action('-layoutnames', {"-db" => @database.name}).body).each {|record|
      name = record['LAYOUT_NAME']
      self[name] = Rfm::Layout.new(name, @database) if self[name] == nil
    }
    @loaded = true
  end
  self.values
end