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