diff --git a/README.md b/README.md index f6992447..66ee97b2 100644 --- a/README.md +++ b/README.md @@ -41,4 +41,10 @@ Then, run `bundle install`. To invoke the generator, run: rails generate jquery:install #--ui to enable jQuery UI -You're done! \ No newline at end of file +You're done! + +### Support for different Versions of Jquery / Jquery-UI + + rails generate jquery:install --jquery_version=1.6.1 --jquery_ui_version=1.8.12 + +Currently only Jquery 1.6.1 and Ui 1.8.12 are shipped with the gem. diff --git a/lib/generators/jquery/install/install_generator.rb b/lib/generators/jquery/install/install_generator.rb index 23f7dd86..10a1a66b 100644 --- a/lib/generators/jquery/install/install_generator.rb +++ b/lib/generators/jquery/install/install_generator.rb @@ -6,6 +6,9 @@ class InstallGenerator < ::Rails::Generators::Base desc "This generator installs jQuery #{Jquery::Rails::JQUERY_VERSION}, jQuery-ujs, and (optionally) jQuery UI #{Jquery::Rails::JQUERY_UI_VERSION}" class_option :ui, :type => :boolean, :default => false, :desc => "Include jQueryUI" + class_option :jquery_version, :type => :string, :default => false, :desc => "Version for Jquery" + class_option :jquery_ui_version, :type => :string, :default => false, :desc => "Version for Jquery-UI" + class_option :jquery_ujs_version, :type => :string, :default => false, :desc => "Version for Jquery-UJS Adapter" source_root File.expand_path('../../../../../vendor/assets/javascripts', __FILE__) def remove_prototype @@ -16,22 +19,22 @@ def remove_prototype def copy_jquery say_status("copying", "jQuery (#{Jquery::Rails::JQUERY_VERSION})", :green) - copy_file "jquery.js", "public/javascripts/jquery.js" - copy_file "jquery.min.js", "public/javascripts/jquery.min.js" + copy_file File.join("jquery", options.jquery_version || Jquery::Rails::JQUERY_VERSION, "jquery.js"), "public/javascripts/jquery.js" + copy_file File.join("jquery", options.jquery_version || Jquery::Rails::JQUERY_VERSION, "jquery.min.js"), "public/javascripts/jquery.min.js" end def copy_jquery_ui if options.ui? say_status("copying", "jQuery UI (#{Jquery::Rails::JQUERY_UI_VERSION})", :green) - copy_file "jquery-ui.js", "public/javascripts/jquery-ui.js" - copy_file "jquery-ui.min.js", "public/javascripts/jquery-ui.min.js" + copy_file File.join("jquery-ui", options.jquery_ui_version || Jquery::Rails::JQUERY_UI_VERSION, "jquery-ui.js"), "public/javascripts/jquery-ui.js" + copy_file File.join("jquery-ui", options.jquery_ui_version || Jquery::Rails::JQUERY_UI_VERSION, "jquery-ui.min.js"), "public/javascripts/jquery-ui.min.js" end end def copy_ujs_driver say_status("copying", "jQuery UJS adapter (#{Jquery::Rails::JQUERY_UJS_VERSION[0..5]})", :green) remove_file "public/javascripts/rails.js" - copy_file "jquery_ujs.js", "public/javascripts/jquery_ujs.js" + copy_file File.join("jquery-ujs", options.jquery_ujs_version || Jquery::Rails::JQUERY_UJS_VERSION, "jquery_ujs.js"), "public/javascripts/jquery_ujs.js" end end diff --git a/vendor/assets/javascripts/jquery-ui.js b/vendor/assets/javascripts/jquery-ui/1.8.12/jquery-ui.js similarity index 100% rename from vendor/assets/javascripts/jquery-ui.js rename to vendor/assets/javascripts/jquery-ui/1.8.12/jquery-ui.js diff --git a/vendor/assets/javascripts/jquery-ui.min.js b/vendor/assets/javascripts/jquery-ui/1.8.12/jquery-ui.min.js similarity index 100% rename from vendor/assets/javascripts/jquery-ui.min.js rename to vendor/assets/javascripts/jquery-ui/1.8.12/jquery-ui.min.js diff --git a/vendor/assets/javascripts/jquery_ujs.js b/vendor/assets/javascripts/jquery-ujs/dad6982dc592686677e6845e681233c40d2ead27/jquery_ujs.js similarity index 100% rename from vendor/assets/javascripts/jquery_ujs.js rename to vendor/assets/javascripts/jquery-ujs/dad6982dc592686677e6845e681233c40d2ead27/jquery_ujs.js diff --git a/vendor/assets/javascripts/jquery.js b/vendor/assets/javascripts/jquery/1.6.1/jquery.js similarity index 100% rename from vendor/assets/javascripts/jquery.js rename to vendor/assets/javascripts/jquery/1.6.1/jquery.js diff --git a/vendor/assets/javascripts/jquery.min.js b/vendor/assets/javascripts/jquery/1.6.1/jquery.min.js similarity index 100% rename from vendor/assets/javascripts/jquery.min.js rename to vendor/assets/javascripts/jquery/1.6.1/jquery.min.js