rack-jquery 1.2.0 → 1.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.md +28 -0
- data/README.md +1 -1
- data/Rakefile +9 -0
- data/examples/config.rb +26 -1
- data/lib/rack/jquery.rb +6 -1
- data/lib/rack/jquery/version.rb +1 -1
- data/spec/rack_jquery_spec.rb +13 -0
- metadata +1 -1
data/CHANGES.md
CHANGED
@@ -1,5 +1,33 @@
|
|
1
1
|
# CH CH CH CHANGES #
|
2
2
|
|
3
|
+
## v1.3.2 ##
|
4
|
+
|
5
|
+
Thursday the 23rd of May 2013
|
6
|
+
|
7
|
+
* Made the Microsoft CDN link protocol relative.
|
8
|
+
|
9
|
+
----
|
10
|
+
|
11
|
+
|
12
|
+
## v1.3.1 ##
|
13
|
+
|
14
|
+
Thursday the 23rd of May 2013
|
15
|
+
|
16
|
+
* Added an easier way to run the examples.
|
17
|
+
* Added links to make it easier to move around the app.
|
18
|
+
|
19
|
+
----
|
20
|
+
|
21
|
+
|
22
|
+
## v1.3.0 ##
|
23
|
+
|
24
|
+
Thursday the 23rd of May 2013
|
25
|
+
|
26
|
+
* Added the Cloudflare CDN.
|
27
|
+
|
28
|
+
____
|
29
|
+
|
30
|
+
|
3
31
|
## v1.2.0 ##
|
4
32
|
|
5
33
|
Thursday the 23rd of May 2013
|
data/README.md
CHANGED
@@ -25,7 +25,7 @@ Have a look in the examples directory, but here's a snippet.
|
|
25
25
|
= Rack::JQuery.cdn
|
26
26
|
</code></pre>
|
27
27
|
|
28
|
-
Now you have the script tags to Google's CDN in the head (you can also use Media Temple or Microsoft, see the docs).
|
28
|
+
Now you have the script tags to Google's CDN in the head (you can also use Media Temple or Microsoft, or Cloudflare, see the docs).
|
29
29
|
|
30
30
|
It also adds in a bit of javascript that will load in a locally kept version of jQuery, just incase the CDN is unreachable. The script will use the "/js/jquery-1.9.1.min.js" path (or, instead of 1.9.1, whatever is in {Rack::JQuery::VERSION}). You can change the "/js" bit if you like (see the docs).
|
31
31
|
|
data/Rakefile
CHANGED
data/examples/config.rb
CHANGED
@@ -8,7 +8,22 @@ class App < Sinatra::Base
|
|
8
8
|
use Rack::JQuery
|
9
9
|
|
10
10
|
get "/" do
|
11
|
-
|
11
|
+
output = <<STR
|
12
|
+
!!!
|
13
|
+
%body
|
14
|
+
%ul
|
15
|
+
%li
|
16
|
+
%a{ href: "/google-cdn"} google-cdn
|
17
|
+
%li
|
18
|
+
%a{ href: "/media-temple-cdn"} media-temple-cdn
|
19
|
+
%li
|
20
|
+
%a{ href: "/microsoft-cdn"} microsoft-cdn
|
21
|
+
%li
|
22
|
+
%a{ href: "/cloudflare-cdn"} cloudflare-cdn
|
23
|
+
%li
|
24
|
+
%a{ href: "/unspecified-cdn"} unspecified-cdn
|
25
|
+
STR
|
26
|
+
haml output
|
12
27
|
end
|
13
28
|
|
14
29
|
get "/google-cdn" do
|
@@ -23,6 +38,10 @@ class App < Sinatra::Base
|
|
23
38
|
haml :index, :layout => :microsoft
|
24
39
|
end
|
25
40
|
|
41
|
+
get "/cloudflare-cdn" do
|
42
|
+
haml :index, :layout => :cloudflare
|
43
|
+
end
|
44
|
+
|
26
45
|
get "/unspecified-cdn" do
|
27
46
|
haml :index, :layout => :unspecified
|
28
47
|
end
|
@@ -48,6 +67,12 @@ __END__
|
|
48
67
|
= Rack::JQuery.cdn( :media_temple )
|
49
68
|
= yield
|
50
69
|
|
70
|
+
@@cloudflare
|
71
|
+
%html
|
72
|
+
%head
|
73
|
+
= Rack::JQuery.cdn( :cloudflare )
|
74
|
+
= yield
|
75
|
+
|
51
76
|
@@unspecified
|
52
77
|
%html
|
53
78
|
%head
|
data/lib/rack/jquery.rb
CHANGED
@@ -16,7 +16,10 @@ module Rack
|
|
16
16
|
GOOGLE = "<script src='//ajax.googleapis.com/ajax/libs/jquery/#{JQUERY_VERSION}/jquery.min.js'></script>"
|
17
17
|
|
18
18
|
# Script tags for the Microsoft CDN
|
19
|
-
MICROSOFT = "<script src='
|
19
|
+
MICROSOFT = "<script src='//ajax.aspnetcdn.com/ajax/jQuery/#{JQUERY_FILE_NAME}'></script>"
|
20
|
+
|
21
|
+
# Script tags for the Cloudflare CDN
|
22
|
+
CLOUDFLARE = "<script src='//cdnjs.cloudflare.com/ajax/libs/jquery/#{JQUERY_VERSION}/jquery.min.js'></script>"
|
20
23
|
|
21
24
|
# This javascript checks if the jQuery object has loaded. If not, that most likely means the CDN is unreachable, so it uses the local minified jQuery.
|
22
25
|
FALLBACK = <<STR
|
@@ -35,6 +38,8 @@ STR
|
|
35
38
|
MEDIA_TEMPLE
|
36
39
|
when :microsoft
|
37
40
|
MICROSOFT
|
41
|
+
when :cloudflare
|
42
|
+
CLOUDFLARE
|
38
43
|
else
|
39
44
|
GOOGLE
|
40
45
|
end
|
data/lib/rack/jquery/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Rack
|
2
2
|
class JQuery
|
3
|
-
VERSION = "1.2
|
3
|
+
VERSION = "1.3.2" # the version of this library
|
4
4
|
JQUERY_VERSION = "2.0.0" # the version of jQuery it supports.
|
5
5
|
|
6
6
|
# This is the release date of the jQuery file, it makes an easy "Last-Modified" date for setting the headers around caching.
|
data/spec/rack_jquery_spec.rb
CHANGED
@@ -22,6 +22,10 @@ describe "The class methods" do
|
|
22
22
|
let(:organisation) { :media_temple }
|
23
23
|
it { should == "#{Rack::JQuery::MEDIA_TEMPLE}\n#{Rack::JQuery::FALLBACK}" }
|
24
24
|
end
|
25
|
+
context "of :media_temple" do
|
26
|
+
let(:organisation) { :cloudflare }
|
27
|
+
it { should == "#{Rack::JQuery::CLOUDFLARE}\n#{Rack::JQuery::FALLBACK}" }
|
28
|
+
end
|
25
29
|
end
|
26
30
|
end
|
27
31
|
|
@@ -69,6 +73,15 @@ describe "Inserting the CDN" do
|
|
69
73
|
let(:expected) { Rack::JQuery::GOOGLE }
|
70
74
|
it { should include expected }
|
71
75
|
end
|
76
|
+
context "Cloudflare CDN" do
|
77
|
+
before do
|
78
|
+
get "/cloudflare-cdn"
|
79
|
+
end
|
80
|
+
it_should_behave_like "Any route"
|
81
|
+
subject { last_response.body }
|
82
|
+
let(:expected) { Rack::JQuery::CLOUDFLARE }
|
83
|
+
it { should include expected }
|
84
|
+
end
|
72
85
|
end
|
73
86
|
|
74
87
|
|