lib/jammit/helper.rb in jammit-0.2.0 vs lib/jammit/helper.rb in jammit-0.2.1

- old
+ new

@@ -38,25 +38,35 @@ private # HTML tags, in order, for all of the individual stylesheets. def individual_stylesheets(packages) - stylesheet_link_tag(packages.map {|p| Jammit.packager.individual_urls(p.to_sym, :css) }.flatten) + tags_with_options(packages) {|p| Jammit.packager.individual_urls(p.to_sym, :css) } end # HTML tags for the stylesheet packages. def packaged_stylesheets(packages) - stylesheet_link_tag(packages.map {|p| Jammit.asset_url(p, :css) }) + tags_with_options(packages) {|p| Jammit.asset_url(p, :css) } end # HTML tags for the 'datauri', and 'mhtml' versions of the packaged # stylesheets, using conditional comments to load the correct variant. def embedded_image_stylesheets(packages) - css_tags = stylesheet_link_tag(packages.map {|p| Jammit.asset_url(p, :css, :datauri) }) + datauri_tags = tags_with_options(packages) {|p| Jammit.asset_url(p, :css, :datauri) } ie_tags = Jammit.mhtml_enabled ? - stylesheet_link_tag(packages.map {|p| Jammit.asset_url(p, :css, :mhtml) }) : - packaged_stylesheets(packages) - [DATA_URI_START, css_tags, DATA_URI_END, MHTML_START, ie_tags, MHTML_END].join("\n") + tags_with_options(packages) {|p| Jammit.asset_url(p, :css, :mhtml) } : + packaged_stylesheets(packages) + [DATA_URI_START, datauri_tags, DATA_URI_END, MHTML_START, ie_tags, MHTML_END].join("\n") + end + + # Generate the stylesheet tags for a batch of packages, with options, by + # yielding each package to a block. + def tags_with_options(packages) + packages = packages.dup + options = packages.extract_options! + packages.map! {|package| yield package }.flatten! + packages.push(options) unless options.empty? + stylesheet_link_tag(*packages) end end end