Sha256: c701e660e9a628c6be5f3bc253cd11b89922371f7239a36d4db619c7ba2e49d5
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
require 'packr' module Sinatra module Bundles # Bundle for javascripts class JavascriptBundle < Bundle # Generate the HTML tag for the script file # # @param [String] name The name of a bundle # @return [String] The HTML that can be inserted into the doc def to_html(name) prefix = "/#{@app.javascripts}/bundles" src = @app.stamp_bundles ? "#{prefix}/#{name}/#{stamp}.js" : "#{prefix}/#{name}.js" "<script type='text/javascript' src='#{src}'></script>" end # The root of these bundles, for path purposes def root @root ||= File.join(@app.public, @app.javascripts) end protected # Compress Javascript # # @param [String] js The Javascript to compress # @return [String] Compressed Javascript def compress(js) # Don't shrink variables if the file includes a call to `eval` Packr.pack(js, :shrink_vars => !js.include?('eval(')) end # Get the path of the file on disk # # @param [String] filename The name of sheet, # assumed to be in the public directory, under 'javascripts' # @return [String] The full path to the file def path(filename) File.join(root, "#{filename}.js") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sinatra-bundles-0.4.0 | lib/sinatra/bundles/javascript_bundle.rb |