Class/Module Index [+]

Quicksearch

Padrino::Contrib::Helpers::JQuery::Helpers

Public Instance Methods

javascript_include_tag_jquery(options={}) click to toggle source
# File lib/padrino-contrib/helpers/jquery.rb, line 24
def javascript_include_tag_jquery(options={})
  libs  = ["http://ajax.googleapis.com/ajax/libs/jquery/#{options[:version] || '1.7.1'}/jquery.min.js"]

  if options.delete(:ui)
    libs << "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.min.js"
  end

  if options.delete(:i18n)
    libs << "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/i18n/jquery-ui-i18n.min.js"
  end

  if cache = options.delete(:cache)
    cache = 'jquery' if cache.is_a?(TrueClass)
    lib   = cache.to_s
    path  = Padrino.root("public", uri_root_path('javascripts', lib))
    path += ".js" unless path =~ /\.js$/

    unless File.exist?(path)
      began_at = Time.now
      require 'open-uri' unless defined?(OpenURI)
      sources = libs.map do |l|
        source = open(l).read
        # Removes extra comments
        if cs = source =~ /\/\*\!/
          cr = source.slice(cs, source.length)
          ce = cr =~ /\*\//
          cr = source.slice(cs, ce+2)
          source.sub!(cr,'')
        end
        # Removes empty lines
        source.each_line.reject { |l| l.strip == "" }.join
      end
      File.open(path, "w") { |f| f.write sources.join("\n") }
      logger.debug "JQuery Cached (%0.2fms) %s" % [Time.now-began_at, path] if defined?(logger)
    end

    libs = lib
  end

  javascript_include_tag(libs)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.