138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
# File 'lib/htmlgrid/composite.rb', line 138
def create(component, model=@model)
if(component.is_a? Class)
component.new(model, @session, self)
elsif(component.is_a? Symbol)
if(self.respond_to?(component, true))
self.send(component, model)
elsif(klass = symbol_map[component])
klass.new(component, model, @session, self)
else
self::class::DEFAULT_CLASS.new(component, model, @session, self)
end
elsif(component.is_a? String)
val = @lookandfeel.lookup(component) { component.to_s }
val.gsub(@@nl2br_ptrn, '<br>')
end
rescue StandardError => exc
exc.backtrace.push(sprintf("%s::COMPONENTS[%s] in create(%s)",
self.class, components.index(component).inspect, component))
raise exc
end
|