Class: Rfm::Factory::LayoutFactory
Overview
Instance Method Summary
collapse
#[]=
Methods inherited from Hash
#rfm_filter, #rfm_only, #to_cih
Constructor Details
#initialize(server, database) ⇒ LayoutFactory
Returns a new instance of LayoutFactory.
80
81
82
83
84
|
# File 'lib/rfm/utilities/factory.rb', line 80
def initialize(server, database)
@server = server
@database = database
@loaded = false
end
|
Instance Method Details
#[](*args) ⇒ Object
86
87
88
89
90
91
92
93
|
# File 'lib/rfm/utilities/factory.rb', line 86
def [](*args) options = Factory.get_config(*args)
name = options[:strings].delete_at(0) || options[:layout]
super(name) or (self[name] = Rfm::Layout.new(name, @database, options))
end
|
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
# File 'lib/rfm/utilities/factory.rb', line 95
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
|
#get_layout_names ⇒ Object
114
115
116
117
|
# File 'lib/rfm/utilities/factory.rb', line 114
def get_layout_names
Rfm::Resultset.new(get_layout_names_xml.body, :database_object => @database)
end
|
#get_layout_names_xml ⇒ Object
110
111
112
|
# File 'lib/rfm/utilities/factory.rb', line 110
def get_layout_names_xml
@server.connect(@database.account_name, @database.password, '-layoutnames', {"-db" => @database.name})
end
|
#modelize(filter = /.*/) ⇒ Object
143
144
145
146
|
# File 'lib/rfm/base.rb', line 143
def modelize(filter = /.*/)
all.values.each{|lay| lay.modelize if lay.name.match(filter)}
models
end
|
148
149
150
151
152
153
154
155
|
# File 'lib/rfm/base.rb', line 148
def models
rslt = {}
each do |k,lay|
layout_models = lay.models
rslt[k] = layout_models if !layout_models.blank?
end
rslt
end
|
119
120
121
|
# File 'lib/rfm/utilities/factory.rb', line 119
def names
keys
end
|