Class: Rfm::Factory::LayoutFactory

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

Overview

:nodoc: all

Instance Method Summary (collapse)

Methods inherited from CaseInsensitiveHash

#[]=

Constructor Details

- (LayoutFactory) initialize(server, database)

A new instance of LayoutFactory



71
72
73
74
75
# File 'lib/rfm/utilities/factory.rb', line 71

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

Instance Method Details

- (Object) [](layout_name)



77
78
79
# File 'lib/rfm/utilities/factory.rb', line 77

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

- (Object) all



81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/rfm/utilities/factory.rb', line 81

def all
  if !@loaded
   get_layout_names.each {|record|
     name = record['LAYOUT_NAME']
   	begin
     	(self[name] = Rfm::Layout.new(name, @database)) unless !self[name].nil? or name.to_s.strip == ''
     rescue
     	$stderr.puts $!
     end
   }
    @loaded = true
  end
  self
end

- (Object) get_layout_names



100
101
102
# File 'lib/rfm/utilities/factory.rb', line 100

def get_layout_names
	Rfm::Resultset.new(@server, get_layout_names_xml.body, nil)
end

- (Object) get_layout_names_xml



96
97
98
# File 'lib/rfm/utilities/factory.rb', line 96

def get_layout_names_xml
	@server.connect(@database., @database.password, '-layoutnames', {"-db" => @database.name})
end

- (Object) modelize(filter = /.*/)



137
138
139
140
# File 'lib/rfm/base.rb', line 137

def modelize(filter = /.*/)
	all.values.each{|lay| lay.modelize if lay.name.match(filter)}
	models
end

- (Object) models



142
143
144
145
146
147
148
149
# File 'lib/rfm/base.rb', line 142

def models
	rslt = {}
	each do |k,lay|
		layout_models = lay.models
		rslt[k] = layout_models if !layout_models.blank?
	end
	rslt
end

- (Object) names



104
105
106
# File 'lib/rfm/utilities/factory.rb', line 104

def names
	keys
end