ajaxlibs 0.1.4 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/ajaxlibs/includes_helper.rb +4 -4
- data/spec/includes_helper_spec.rb +18 -1
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.6
|
@@ -6,7 +6,6 @@ module Ajaxlibs::IncludesHelper
|
|
6
6
|
# == Options
|
7
7
|
# * <tt>version</tt> : specify the version to use for each library
|
8
8
|
# * <tt>local</tt> : if true, always serve file locally, if false, use Google CDN
|
9
|
-
# * <tt>remote</tt> : if false, always serve file locally, if true, use Google CDN
|
10
9
|
#
|
11
10
|
# == Exceptions
|
12
11
|
# * <tt>Ajaxlibs::Exception::LibraryNotFound</tt> : raised if one or more of the given library is not available
|
@@ -50,8 +49,9 @@ module Ajaxlibs::IncludesHelper
|
|
50
49
|
def javascript_include_library(library, options)
|
51
50
|
library = library.to_sym
|
52
51
|
version = options.delete(:version)
|
53
|
-
|
54
|
-
|
52
|
+
local = options.delete(:local)
|
53
|
+
options[:source] ||= (local === true or (local.nil? and RAILS_ENV != 'production')) ? :local : :remote
|
54
|
+
ajaxlib = Ajaxlibs::Library.by_name(library, options.merge({:version => version}))
|
55
55
|
|
56
56
|
@included_javascript_libraries ||= []
|
57
57
|
|
@@ -61,7 +61,7 @@ module Ajaxlibs::IncludesHelper
|
|
61
61
|
result = []
|
62
62
|
|
63
63
|
ajaxlib.requires.each do |required_library, required_version|
|
64
|
-
result << javascript_include_library(required_library, :version => required_version)
|
64
|
+
result << javascript_include_library(required_library, options.merge({:version => required_version}))
|
65
65
|
end
|
66
66
|
|
67
67
|
result << ajaxlib
|
@@ -69,6 +69,15 @@ describe "Ajaxlibs::IncludesHelper" do
|
|
69
69
|
end
|
70
70
|
end # end of context "while specifying a specific version number"
|
71
71
|
end # end of context "should call javascript_include_tag to include local javascript library file"
|
72
|
+
|
73
|
+
example "should call javascript_include_tag with google cdn include path if specified source is remote" do
|
74
|
+
@fake_action_view.should_receive(:javascript_include_tag).
|
75
|
+
with(Ajaxlibs::Library.by_name(:prototype).google_cdn_include_path).
|
76
|
+
once
|
77
|
+
|
78
|
+
@fake_action_view.ajaxlibs_include :prototype, :local => false
|
79
|
+
end
|
80
|
+
|
72
81
|
end # end of context "in development environment"
|
73
82
|
|
74
83
|
context "in production environment" do
|
@@ -108,7 +117,15 @@ describe "Ajaxlibs::IncludesHelper" do
|
|
108
117
|
once
|
109
118
|
|
110
119
|
@fake_action_view.ajaxlibs_include :prototype, :prototype
|
111
|
-
end
|
120
|
+
end
|
121
|
+
|
122
|
+
example "using a secured connection if secured was specified" do
|
123
|
+
@fake_action_view.should_receive(:javascript_include_tag).
|
124
|
+
with(Ajaxlibs::Library.by_name(:prototype, :secure => true).google_cdn_include_path).
|
125
|
+
once
|
126
|
+
|
127
|
+
@fake_action_view.ajaxlibs_include :prototype, :secure => true
|
128
|
+
end
|
112
129
|
|
113
130
|
context "while specifying a specific version number" do
|
114
131
|
example "once if one library was specified" do
|