templates/js.rb in prologue-0.2.0 vs templates/js.rb in prologue-0.3.0
- old
+ new
@@ -1,10 +1,59 @@
get "http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js", "public/javascripts/jquery.js"
get "http://github.com/rails/jquery-ujs/raw/master/src/rails.js", "public/javascripts/rails.js"
get "http://html5shiv.googlecode.com/svn/trunk/html5.js", "public/javascripts/shiv.js"
+run 'rm public/javascripts/application.js'
-inject_into_file 'config/application.rb', :after => "# JavaScript files you want as :defaults (application.js is always included).\n" do
-<<-RUBY
- config.action_view.javascript_expansions[:defaults] = %w(jquery rails)
-RUBY
+create_file 'public/javascripts/core.js' do
+<<-FILE
+(function($){
+ var QL = QL || {};
+
+ QL = {
+ init: function QL_init(){
+ // some code that needs to be executed after doc ready
+ QL.bindEvents();
+ },
+ bindEvents: function QL_liveEvents(){
+ $('a[rel*=external]').live('click',function(){
+ window.open(this.href);
+ return false;
+ });
+
+ // more globally bound events
+ },
+ helpers: function QL_helpers(){
+ // helper for searching through arrays
+ QL.helpers.arraySearch = function(a){
+ var o = {};
+ for(var i=0;i<a.length;i++){
+ o[a[i]]='';
+ }
+ return o;
+ };
+ //j. resigs array remove overload
+ Array.prototype.remove = function(from, to) {
+ var rest = this.slice((to || from) + 1 || this.length);
+ this.length = from < 0 ? this.length + from : from;
+ return this.push.apply(this, rest);
+ };
+ // duck punch Array.indexOf into IE browsers
+ if(!Array.indexOf){
+ Array.prototype.indexOf = function(obj){
+ for(var i=0; i<this.length; i++){
+ if(this[i]==obj){
+ return i;
+ }
+ }
+ return -1;
+ }
+ }
+ }
+};
+
+ window.QL = QL;
+ $(document).ready(QL.init);
+
+})(jQuery);
+FILE
end
\ No newline at end of file