def _to_s(*args)
result = String.new
children.each do |child|
next if child.invisible?
child_str = child.to_s(1)
result << child_str + (style == :compressed ? '' : "\n")
end
result.rstrip!
return "" if result.empty?
result << "\n"
unless Haml::Util.ruby1_8? || result.ascii_only?
if children.first.is_a?(CharsetNode)
begin
encoding = children.first.name
encoding << 'BE' if encoding =~ /\Autf-(16|32)\Z/i
result = result.encode(Encoding.find(encoding))
rescue EncodingError
end
end
result = "@charset \"#{result.encoding.name}\";#{
style == :compressed ? '' : "\n"
}".encode(result.encoding) + result
end
result
end