11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/nitro/helper/xml.rb', line 11
def method_missing(tag, *args, &block)
self.class.module_eval <<-"end_eval", __FILE__, __LINE__
def #{tag}(*args)
attrs = args.last.is_a?(Hash) ? args.pop : nil
if block_given?
start_tag!('#{tag}', attrs)
yield
end_tag!('#{tag}')
elsif (!args.empty?)
start_tag!('#{tag}', attrs)
self << args.first
end_tag!('#{tag}')
else
start_tag!('#{tag}', attrs, false)
self << ' />'
end
end
end_eval
self.send(tag, *args, &block)
end
|