def js_include_tag(*scripts)
options = scripts.last.is_a?(Hash) ? scripts.pop : {}
return nil if scripts.empty?
js_prefix = options[:prefix] || Merb::Plugins.config[:asset_helpers][:js_prefix]
js_suffix = options[:suffix] || Merb::Plugins.config[:asset_helpers][:js_suffix]
if (bundle_name = options[:bundle]) && Merb::Assets.bundle? && scripts.size > 1
bundler = Merb::Assets::JavascriptAssetBundler.new(bundle_name, *scripts)
bundled_asset = bundler.bundle!
return js_include_tag(bundled_asset)
end
tags = ""
for script in scripts
src = js_prefix.to_s + asset_path(:javascript, script)
if js_suffix
ext_length = ASSET_FILE_EXTENSIONS[:javascript].length + 1
src.insert(-ext_length,js_suffix)
end
src = append_query_string(src,
options.delete(:reload),
options.delete(:timestamp))
attrs = {
:src => src,
:type => "text/javascript",
:charset => options[:charset] || "utf-8"
}
tags << %Q{<script #{attrs.to_xml_attributes}></script>}
end
return tags
end