Module: JqueryCdn
- Defined in:
- lib/jquery-cdn.rb,
lib/jquery-cdn/helpers.rb,
lib/jquery-cdn/version.rb,
lib/jquery-cdn/railties.rb
Defined Under Namespace
Modules: Helpers, RailsHelpers Classes: Engine, Railtie
Constant Summary collapse
- URL =
{ google: "//ajax.googleapis.com/ajax/libs/jquery/#{VERSION}/jquery.min.js", microsoft: "//ajax.aspnetcdn.com/ajax/jQuery/jquery-#{VERSION}.min.js", jquery: "http://code.jquery.com/jquery-#{VERSION}.min.js", yandex: "//yandex.st/jquery/#{VERSION}/jquery.min.js", cloudflare: "//cdnjs.cloudflare.com/ajax/libs/jquery/#{VERSION}/jquery.min.js" }
- VERSION =
"2.1.1"
Class Method Summary collapse
-
.include_jquery(options = { }) ⇒ Object
Return <script> tags with jQuery.
-
.install(sprockets) ⇒ Object
Add assets paths to standalone Sprockets environment.
-
.local_url=(proc) ⇒ Object
Set proc to generate locale jQuery URL.
-
.script_tag(attrs, body = '') ⇒ Object
Return <script> tag.
-
.url(env, cdn) ⇒ Object
Return URL to local or CDN jQuery, depend on ‘env`.
Class Method Details
.include_jquery(options = { }) ⇒ Object
Return <script> tags with jQuery.
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/jquery-cdn.rb', line 56 def self.include_jquery( = { }) attrs = .dup env = attrs.delete(:env) || :production cdn = attrs.delete(:cdn) || :google attrs[:src] = url(env, cdn) script_tag(attrs) + if not [:defer] and env == :production fallback = include_jquery(.merge(env: :development)) escaped = "unescape('#{ fallback.gsub('<', '%3C') }')" script_tag("window.jQuery || document.write(#{ escaped })") else '' end end |
.install(sprockets) ⇒ Object
Add assets paths to standalone Sprockets environment.
18 19 20 21 |
# File 'lib/jquery-cdn.rb', line 18 def self.install(sprockets) root = Pathname(__FILE__).dirname.join('..'). sprockets.append_path(root.join('vendor/assets/javascripts')) end |
.local_url=(proc) ⇒ Object
Set proc to generate locale jQuery URL
34 35 36 |
# File 'lib/jquery-cdn.rb', line 34 def self.local_url=(proc) @local_url = proc end |
.script_tag(attrs, body = '') ⇒ Object
Return <script> tag
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/jquery-cdn.rb', line 39 def self.script_tag(attrs, body = '') if attrs.is_a? String body = attrs attrs = { } end attrs = attrs.map { |key, value| if value == true " #{key}" else " #{key}=\"#{value}\"" end }.join "<script#{ attrs }>#{ body }</script>" end |