rails-ext 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. data/.git/COMMIT_EDITMSG +1 -1
  2. data/.git/index +0 -0
  3. data/.git/logs/HEAD +2 -0
  4. data/.git/logs/refs/heads/master +2 -0
  5. data/.git/logs/refs/remotes/origin/master +2 -0
  6. data/.git/objects/0b/3b3d1048f25fdc0de3f680cdbbd867a42b5a95 +0 -0
  7. data/.git/objects/30/e5bf9c61cc450f8024ab7029a490d7fb9f3ff7 +0 -0
  8. data/.git/objects/3e/c0da65fe2e572ad31203f9412baa09dfdf49d3 +0 -0
  9. data/.git/objects/4b/679db9ab667a78890277de9a35c46250f14c7f +0 -0
  10. data/.git/objects/7d/156826045e2eef7611f3fcad3adee9c17c2c02 +0 -0
  11. data/.git/objects/8b/7fd3b87e0f2fce82705c50e7c48f9496b7666e +0 -0
  12. data/.git/objects/a1/7da5fcb263b86753b0dddb8f34472e61d25fa1 +0 -0
  13. data/.git/objects/a3/5c311b625d863b50d51e2385259d487e277c90 +0 -0
  14. data/.git/objects/a5/4db1bec30f7dc8981c4d5ccf9c9a90c1e13662 +0 -0
  15. data/.git/objects/b3/c029798d5af50b4ab725aee6cf66ee11c4ff7a +0 -0
  16. data/.git/objects/ba/67eef0f58a44e4b39af605d45e1e958023588d +0 -0
  17. data/.git/objects/c4/524d9d99c6072949bfc565f78b7a62577ffa3f +0 -0
  18. data/.git/objects/c8/e50fcfb3ed2c892a6c75e8d703552bb8edd4ca +3 -0
  19. data/.git/objects/db/951c9a303fba608e0066e2aa68c3b7d8d9aea6 +0 -0
  20. data/.git/objects/db/d962bcfbb85c6da46c868594983f3cda9fcad8 +0 -0
  21. data/.git/objects/e8/e3794adaa5886984bd0c0ff90980353de03c9b +0 -0
  22. data/.git/objects/f2/efda050bcf5d33d3f8e8fb2848b0be926c1731 +0 -0
  23. data/.git/objects/f9/ef6dd08a60dec5d5e4e7a9b08f693ebf76da39 +0 -0
  24. data/.git/objects/fa/4e345a8b9a12bf1cf7af254b3caa111b04191b +0 -0
  25. data/.git/refs/heads/master +1 -1
  26. data/.git/refs/remotes/origin/master +1 -1
  27. data/Rakefile +1 -1
  28. data/lib/rails_ext/basic.rb +1 -1
  29. data/lib/rails_ext/common_helper.rb +13 -0
  30. data/lib/rails_ext/defer_static_javascripts.rb +50 -0
  31. data/lib/rails_ext/hacks/{defer_javascript.rb → defer_static_javascripts.rb} +5 -4
  32. data/lib/rails_ext/hacks/link_to.rb +1 -2
  33. data/lib/rails_ext/micelaneous.rb +4 -0
  34. data/lib/rails_ext/mongo_mapper.rb +14 -4
  35. data/lib/rails_ext.rb +5 -3
  36. data/public/rails_ext/rails_ext.css +1 -2
  37. data/public/rails_ext/rails_ext.js +63 -17
  38. metadata +24 -4
  39. data/lib/rails_ext/defer_javascript.rb +0 -51
data/.git/COMMIT_EDITMSG CHANGED
@@ -1 +1 @@
1
- update i18n & mongomapper
1
+ upd
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -16,3 +16,5 @@ f63ad03a8daa1602df63aab3838947c18fa63797 0fd3ac42b07c2d3102263bd939704f5633db304
16
16
  ddad36d883dd04cb1b68f0f81d5b3fa98b8551e3 8203c2c6cdd29e1e20e88fbb81e63b7ea1ec2899 Alex <alex@alex.local> 1262615007 +0300 commit: minor fix
17
17
  8203c2c6cdd29e1e20e88fbb81e63b7ea1ec2899 4966cd792ea3e03d5091aa7a332f2a082e479a76 Alex <alex@alex.local> 1262615022 +0300 commit: minor fix
18
18
  4966cd792ea3e03d5091aa7a332f2a082e479a76 c1424cadd8817a7e927742e52945f303b38e7222 alex <alex@amac.local> 1264099114 +0300 commit: update i18n & mongomapper
19
+ c1424cadd8817a7e927742e52945f303b38e7222 4b679db9ab667a78890277de9a35c46250f14c7f alex <alex@amac.local> 1265027736 +0300 commit: upd
20
+ 4b679db9ab667a78890277de9a35c46250f14c7f f9ef6dd08a60dec5d5e4e7a9b08f693ebf76da39 alex <alex@amac.local> 1265027909 +0300 commit: upd
@@ -16,3 +16,5 @@ f63ad03a8daa1602df63aab3838947c18fa63797 0fd3ac42b07c2d3102263bd939704f5633db304
16
16
  ddad36d883dd04cb1b68f0f81d5b3fa98b8551e3 8203c2c6cdd29e1e20e88fbb81e63b7ea1ec2899 Alex <alex@alex.local> 1262615007 +0300 commit: minor fix
17
17
  8203c2c6cdd29e1e20e88fbb81e63b7ea1ec2899 4966cd792ea3e03d5091aa7a332f2a082e479a76 Alex <alex@alex.local> 1262615022 +0300 commit: minor fix
18
18
  4966cd792ea3e03d5091aa7a332f2a082e479a76 c1424cadd8817a7e927742e52945f303b38e7222 alex <alex@amac.local> 1264099114 +0300 commit: update i18n & mongomapper
19
+ c1424cadd8817a7e927742e52945f303b38e7222 4b679db9ab667a78890277de9a35c46250f14c7f alex <alex@amac.local> 1265027736 +0300 commit: upd
20
+ 4b679db9ab667a78890277de9a35c46250f14c7f f9ef6dd08a60dec5d5e4e7a9b08f693ebf76da39 alex <alex@amac.local> 1265027909 +0300 commit: upd
@@ -15,3 +15,5 @@ f63ad03a8daa1602df63aab3838947c18fa63797 0fd3ac42b07c2d3102263bd939704f5633db304
15
15
  ddad36d883dd04cb1b68f0f81d5b3fa98b8551e3 8203c2c6cdd29e1e20e88fbb81e63b7ea1ec2899 Alex <alex@alex.local> 1262615013 +0300 update by push
16
16
  8203c2c6cdd29e1e20e88fbb81e63b7ea1ec2899 4966cd792ea3e03d5091aa7a332f2a082e479a76 Alex <alex@alex.local> 1262615027 +0300 update by push
17
17
  4966cd792ea3e03d5091aa7a332f2a082e479a76 c1424cadd8817a7e927742e52945f303b38e7222 alex <alex@amac.local> 1264099121 +0300 update by push
18
+ c1424cadd8817a7e927742e52945f303b38e7222 4b679db9ab667a78890277de9a35c46250f14c7f alex <alex@amac.local> 1265027742 +0300 update by push
19
+ 4b679db9ab667a78890277de9a35c46250f14c7f f9ef6dd08a60dec5d5e4e7a9b08f693ebf76da39 alex <alex@amac.local> 1265027917 +0300 update by push
@@ -0,0 +1,3 @@
1
+ x�TMK�@��_1
2
+ �<�/Ȏ��#�w����7�ϙu���aO�.w6��K�3d�G�t
3
+ U��C3�|�Z���{2M"����Ѻ��1�?M����whS��k
@@ -1 +1 @@
1
- c1424cadd8817a7e927742e52945f303b38e7222
1
+ f9ef6dd08a60dec5d5e4e7a9b08f693ebf76da39
@@ -1 +1 @@
1
- c1424cadd8817a7e927742e52945f303b38e7222
1
+ f9ef6dd08a60dec5d5e4e7a9b08f693ebf76da39
data/Rakefile CHANGED
@@ -18,7 +18,7 @@ require 'fileutils'
18
18
 
19
19
  spec = Gem::Specification.new do |s|
20
20
  s.name = "rails-ext"
21
- s.version = "0.2.6"
21
+ s.version = "0.2.7"
22
22
  s.summary = "Set of common Ruby on Rails extensions"
23
23
  s.description = "Set of common Ruby on Rails extensions"
24
24
  s.author = "Alexey Petrushin"
@@ -1,6 +1,6 @@
1
1
  require 'ruby_ext'
2
2
 
3
- require 'activesupport'
3
+ require 'active_support'
4
4
 
5
5
  require 'rails_ext/handy_environment'
6
6
 
@@ -36,6 +36,19 @@ $.authenticity_token = "#{form_authenticity_token}";}
36
36
  escape_javascript *args, &block
37
37
  end
38
38
 
39
+ # def js_template content, opt, &block
40
+ # opt[:class] ||= ''
41
+ # opt[:class] += ' hidden'
42
+ #
43
+ # html = content || capture(&block)
44
+ #
45
+ # concat %{\
46
+ # <textarea class='#{opt[:class]}'>
47
+ # #{html}
48
+ # </textarea>}
49
+ # end
50
+ # prepare_arguments_for :js_template, {:type => :object, :range => :except_last_hash}, :hash
51
+
39
52
  # def autohide
40
53
  # # request.format == Mime::JS ? 'hidden' : ''
41
54
  # Thread.current[:autohide] ? 'hidden' : ''
@@ -0,0 +1,50 @@
1
+ ActionController::Base.class_eval do
2
+ def self.defer_static_scripts
3
+ before_filter :defer_static_scripts
4
+ end
5
+
6
+ def defer_static_scripts
7
+ Thread.current[:deferred_static_scripts_called] = false
8
+ Thread.current[:defer_static_scripts] = request.xhr? ? false : true
9
+ end
10
+
11
+ def self.defer_static_scripts?
12
+ !!Thread.current[:defer_static_scripts]
13
+ end
14
+ end
15
+
16
+ ActionView::Base.class_eval do
17
+ def defer_static_scripts?
18
+ ActionController::Base.defer_static_scripts?
19
+ end
20
+
21
+ def initialize_deferred_static_scripts
22
+ return "" unless defer_static_scripts?
23
+ not_deferred_static_script do
24
+ javascript_tag "var deferred_static_scripts = [];"
25
+ end
26
+ end
27
+
28
+ def not_deferred_static_script &block
29
+ before = Thread.current[:defer_static_scripts]
30
+ begin
31
+ Thread.current[:defer_static_scripts] = false
32
+ block.call
33
+ ensure
34
+ Thread.current[:defer_static_scripts] = before
35
+ end
36
+ end
37
+
38
+ def call_deferred_static_scripts
39
+ return "" unless defer_static_scripts?
40
+ Thread.current[:deferred_static_scripts_called] = true
41
+ content = <<END
42
+ $.each(deferred_static_scripts, function(){this()});
43
+ deferred_static_scripts = [];
44
+ END
45
+ not_deferred_static_script do
46
+ javascript_tag content
47
+ end
48
+ end
49
+
50
+ end
@@ -1,14 +1,15 @@
1
1
  ActionView::Helpers::JavaScriptHelper.class_eval do
2
2
  def javascript_cdata_section_with_defer content
3
- if defer_scripts?
4
- raise "Deferred scripts already called!" if Thread.current[:deferred_scripts_called]
5
- content = <<END
6
- deferred.push(function(){
3
+ if defer_static_scripts?
4
+ unless Thread.current[:deferred_static_scripts_called]
5
+ content = <<END
6
+ deferred_static_scripts.push(function(){
7
7
 
8
8
  #{content}
9
9
 
10
10
  });
11
11
  END
12
+ end
12
13
  end
13
14
 
14
15
  javascript_cdata_section_without_defer content
@@ -88,9 +88,8 @@ ActionView::Helpers::UrlHelper.send :class_eval do
88
88
  nil
89
89
  end
90
90
 
91
- if onclick and ActionController::Base.defer_scripts?
91
+ if onclick and ActionController::Base.defer_static_scripts?
92
92
  html_options['class'] ||= ""
93
- html_options['class'] << "_deferred"
94
93
  end
95
94
 
96
95
  if confirm
@@ -0,0 +1,4 @@
1
+ def rails_require arg
2
+ files = arg.is_a?(Array) ? arg : [arg]
3
+ files.each{|file| Rails.development? ? load(file) : require(file)}
4
+ end
@@ -13,22 +13,32 @@ end
13
13
  # attributes_cache
14
14
  #
15
15
  MongoMapper::Document::InstanceMethods.class_eval do
16
- def attributes_cache
17
- @attributes_cache ||= {}
16
+ def cache
17
+ @cache ||= {}
18
+ end
19
+
20
+ def clear_cache
21
+ @cache = {}
18
22
  end
19
23
 
20
24
  def reload_with_cache
21
- @attributes_cache.clear if @attributes_cache
25
+ @cache.clear if @cache
22
26
  reload_without_cache
23
27
  end
24
28
  alias_method_chain :reload, :cache
25
29
  end
26
30
 
27
31
  #
28
- # ObjectID serialization
32
+ # ObjectID
29
33
  #
30
34
  Mongo::ObjectID.class_eval do
31
35
  def to_yaml *args
32
36
  to_s.to_yaml *args
33
37
  end
38
+ end
39
+
40
+ String.class_eval do
41
+ def to_mongo_id
42
+ ObjectId.to_mongo self
43
+ end
34
44
  end
data/lib/rails_ext.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'activesupport'
1
+ require 'active_support'
2
2
 
3
3
  require 'rails_ext/action_controller'
4
4
  require 'rails_ext/action_view'
@@ -11,13 +11,15 @@ require 'rails_ext/mongo_mapper'
11
11
  require 'rails_ext/config_files/safe_hash'
12
12
  require 'rails_ext/config_files'
13
13
 
14
- require 'rails_ext/defer_javascript'
15
- require 'rails_ext/hacks/defer_javascript'
14
+ require 'rails_ext/defer_static_javascripts'
15
+ require 'rails_ext/hacks/defer_static_javascripts'
16
16
 
17
17
  require 'rails_ext/email_config'
18
18
 
19
19
  require 'rails_ext/create_public_symlinks'
20
20
 
21
+ require 'rails_ext/micelaneous'
22
+
21
23
  # right now globalize2 not accessible as gem (it's broken)
22
24
  # so, we need to include it as rails plugin and include this in initializer.
23
25
  # require 'rails_ext/i18n_helper'
@@ -1,2 +1 @@
1
- .hidden{display: none;}
2
- ._deferred{display: none;}
1
+ .hidden{display: none;}
@@ -5,7 +5,7 @@ $;
5
5
  $.template;
6
6
  $.toJSON;
7
7
 
8
- js_commons = 'defined';
8
+ railsExt = 'defined';
9
9
 
10
10
  //
11
11
  // JavaScript Extension
@@ -32,6 +32,10 @@ inspect = function(data){
32
32
  console.dir(data);
33
33
  };
34
34
 
35
+ log = function(data){
36
+ console.log(data);
37
+ };
38
+
35
39
  //
36
40
  // jQuery Extension
37
41
  //
@@ -100,37 +104,79 @@ $.fn.extend({
100
104
  //
101
105
  // jQuery Template
102
106
  //
103
- $.template.regx.standard = /\#\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g;
107
+ // try{
108
+ // $.template.regx.standard = /\#\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g;
109
+ // }catch(error){
110
+ // console.info('jquery.template not installed!');
111
+ // }
104
112
 
105
113
  //
106
- // Behaviour Initializers
114
+ // Initializers
107
115
  //
108
116
  $.extend({
109
- initializers: [],
117
+ callOnceForEvery: function(name, query, initializer, dependencyLevel){
118
+ if(!(name && query && initializer)) throw "Invalid arguments!";
119
+ this._addInitializer({name: name, query: query, initializer: initializer}, this._processOnceForEveryInitializer, false, dependencyLevel)
120
+ },
110
121
 
111
- add_initializer: function(name, query, initializer){
112
- this.initializers.push({name: name + '_init', query: query, initializer: initializer});
122
+ callOnceAfterUpdate: function(name, initializer, dependencyLevel){
123
+ this._addInitializer({name: name, initializer: initializer}, this._processOnceAfterUpdateInitializer, true, dependencyLevel)
113
124
  },
114
125
 
115
- initialize: function() {
116
- $($.initializers).each(function() {
117
- var _this = this;
118
- $(this.query).each(function(){
126
+ callAfterUpdate: function(name, initializer, dependencyLevel){
127
+ this._addInitializer({name: name, initializer: initializer}, this._processAfterUpdateInitializer, false, dependencyLevel)
128
+ },
129
+
130
+ _orderedInitializers: [[], [], [], [], [], []],
131
+ _addInitializer: function(definition, processor, callOnce, dependencyLevel){
132
+ definition.name = '_' + definition.name + '_initialized';
133
+ dependencyLevel = dependencyLevel || 0;
134
+ if(!(dependencyLevel >= 0 && dependencyLevel <= 5)) throw "Not supported Dependency Level Value: '" + dependencyLevel + "'!";
135
+ this._orderedInitializers[dependencyLevel].push({definition: definition, processor: processor, callOnce: callOnce});
136
+ },
137
+
138
+ _processInitializers: function(){
139
+ for(var i = this._orderedInitializers.size() - 1; i >= 0; i--){
140
+ var initializers = $(this._orderedInitializers[i]);
141
+ var toDelete = [];
142
+ initializers.each(function(i, v){
143
+ // log(v.definition.name);
144
+ v.processor(v.definition);
145
+ if(v.callOnce) toDelete.push(i);
146
+ });
147
+ $(toDelete.reverse()).each(function(){
148
+ initializers.splice(this, this + 1);
149
+ });
150
+ }
151
+ },
152
+
153
+ _processOnceForEveryInitializer: function(definition) {
154
+ // var count = 0
155
+ $(definition.query).each(function(){
119
156
  var e = $(this);
120
- if(!e.data(_this.name)){
121
- e.data(_this.name, true);
122
- _this.initializer.apply($(this));
157
+ if(!e.hasClass(definition.name)){ // if(!e.data(definition.name)){
158
+ // count = count + 1;
159
+ e.addClass(definition.name); // e.data(definition.name, true);
160
+ definition.initializer.apply(this);
123
161
  }
124
162
  });
125
- });
126
- }
163
+ // log(definition.name + ', ' + definition.query + ': ' + $(definition.query).size() + '/' + count)
164
+ },
165
+
166
+ _processOnceAfterUpdateInitializer: function(definition){
167
+ definition.initializer();
168
+ },
169
+
170
+ _processAfterUpdateInitializer: function(definition){
171
+ definition.initializer();
172
+ }
127
173
  });
128
174
 
129
175
  $(function(){
130
- $.initialize();
176
+ $._processInitializers();
131
177
  });
132
178
  $(document).ajaxSuccess(function(){
133
- $.initialize();
179
+ $._processInitializers();
134
180
  });
135
181
 
136
182
  //
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Petrushin
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-21 00:00:00 +03:00
12
+ date: 2010-02-01 00:00:00 +03:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -60,6 +60,7 @@ files:
60
60
  - .git/objects/07/9ef6b10f536af792f4cf5d131857baa28751e7
61
61
  - .git/objects/07/f7d26527e58caa2fa99e33b29a7791b9eb8b3e
62
62
  - .git/objects/09/20505d42c0044b31ff7b1f86cec6e282e13414
63
+ - .git/objects/0b/3b3d1048f25fdc0de3f680cdbbd867a42b5a95
63
64
  - .git/objects/0b/e101a0586410212b4ee5905881ad726b7b4907
64
65
  - .git/objects/0f/d3ac42b07c2d3102263bd939704f5633db304e
65
66
  - .git/objects/10/1f52d83027dfe5798f87aec1118f02d19e5cf8
@@ -84,17 +85,20 @@ files:
84
85
  - .git/objects/2e/3e3fc8e46949a9b944da3c36207c444aa2c9b7
85
86
  - .git/objects/2e/f02adc5485c579d75dfacf7034b20760f2fdf4
86
87
  - .git/objects/30/69d4978bbdfacf4402c4339438b29657275f2c
88
+ - .git/objects/30/e5bf9c61cc450f8024ab7029a490d7fb9f3ff7
87
89
  - .git/objects/33/9755448515fb77f691d6197bd65d5b5d53fc24
88
90
  - .git/objects/36/66d56066f3aeb0f9fc342de42f25e298341a61
89
91
  - .git/objects/36/9902ca51d5820a02ccccbf1cac6ed09051941d
90
92
  - .git/objects/3a/03b9d44de43472689300120ffb2a0a9a74f27f
91
93
  - .git/objects/3a/797683953be7e6d0ffa0e34514f3e8e9c3ceb0
92
94
  - .git/objects/3a/ff2a7bfdf3a677812899ede62d084369c7c5f4
95
+ - .git/objects/3e/c0da65fe2e572ad31203f9412baa09dfdf49d3
93
96
  - .git/objects/3f/3db6bb5a5204ae58e303959c4c0da3a70d8b35
94
97
  - .git/objects/40/215c0554202fc46dc2fca94ed21e2920ce1e84
95
98
  - .git/objects/40/7adfb7f6188b0bb0b88cf9391943e1aaa32374
96
99
  - .git/objects/49/66cd792ea3e03d5091aa7a332f2a082e479a76
97
100
  - .git/objects/4b/2bdb2dc6330ba9bafd9058ec8eaa925ef53f91
101
+ - .git/objects/4b/679db9ab667a78890277de9a35c46250f14c7f
98
102
  - .git/objects/4c/c50af870afc44ad7a42ae722e74cab60d65af9
99
103
  - .git/objects/4d/991a018b0c697fa119efe7aaf55df0a1c7af8e
100
104
  - .git/objects/4f/2c09cf4d187a86ce37983eb76211ebabdb45d0
@@ -119,6 +123,7 @@ files:
119
123
  - .git/objects/75/d0b250bcdf241d981313b1d6eb153b96e4b05f
120
124
  - .git/objects/76/d3cd0f31cfb174c2411be5636a8257e7af613a
121
125
  - .git/objects/77/6e03ab9139aab1e0e8d551a75c3c0145fd9322
126
+ - .git/objects/7d/156826045e2eef7611f3fcad3adee9c17c2c02
122
127
  - .git/objects/7d/978ee312ca2119dc84e40431182b8f68e42f53
123
128
  - .git/objects/7e/ca6f113845c2dcdf536daa084349445d608879
124
129
  - .git/objects/82/03c2c6cdd29e1e20e88fbb81e63b7ea1ec2899
@@ -126,6 +131,7 @@ files:
126
131
  - .git/objects/86/b31b604469e9b261f4e5b927932504bca8c402
127
132
  - .git/objects/87/fc827fd223cac6b4e55d823a9ea86bb0726a3b
128
133
  - .git/objects/89/2697494eb70fdccaf26bf547bb8d7428c0e5ff
134
+ - .git/objects/8b/7fd3b87e0f2fce82705c50e7c48f9496b7666e
129
135
  - .git/objects/8d/4dcde8df4da8f53f5f5313757b907e9aa1af66
130
136
  - .git/objects/8e/69b6cf3ec8b49270091b4a206ccf326679dc20
131
137
  - .git/objects/92/e1c250edfca72ed0932934257ef3cfc7122ec5
@@ -134,6 +140,9 @@ files:
134
140
  - .git/objects/94/72f3ac9e890231482aadd774bdc1c9ba742497
135
141
  - .git/objects/9b/a1a0e6e5050444fc8743a18341ae219c54aa9b
136
142
  - .git/objects/9f/0f3e54458d429dd2a1c04e4671398cfa37d595
143
+ - .git/objects/a1/7da5fcb263b86753b0dddb8f34472e61d25fa1
144
+ - .git/objects/a3/5c311b625d863b50d51e2385259d487e277c90
145
+ - .git/objects/a5/4db1bec30f7dc8981c4d5ccf9c9a90c1e13662
137
146
  - .git/objects/a7/6c4944dc009628cb65b4962464a8eb484d6a71
138
147
  - .git/objects/a7/a902aeac4af3f10b474c23c2a3750fde007a02
139
148
  - .git/objects/ac/92bcf6c74d23824c3c7ce341f667507592c7f9
@@ -142,12 +151,14 @@ files:
142
151
  - .git/objects/b0/39fcd38009980eb74d6bcef22d11e02639a530
143
152
  - .git/objects/b1/2623653bc803aeab5b77efdc72f79fb8f9c80e
144
153
  - .git/objects/b2/cd852090540d0b2450b901397edd924d8c0ba9
154
+ - .git/objects/b3/c029798d5af50b4ab725aee6cf66ee11c4ff7a
145
155
  - .git/objects/b4/0345153922bfcdbbc4785cc3146e9e7c60dbbd
146
156
  - .git/objects/b4/228251babf3a84ac181d462fdd383816bd23b8
147
157
  - .git/objects/b4/eb909dd819bf870d2445bddc0d7f00678b11b6
148
158
  - .git/objects/b5/15828bb32356501aa81bb4e808ea5d7d77f068
149
159
  - .git/objects/b5/edd343ceb8e87d1a73922612aec210b393f839
150
160
  - .git/objects/b7/88e3ac322b164a2a223f80f8a6da0836d9d1dd
161
+ - .git/objects/ba/67eef0f58a44e4b39af605d45e1e958023588d
151
162
  - .git/objects/bb/23236d2e8340087cc495c66310e6eb90d6fe0a
152
163
  - .git/objects/bc/90a06dd2f2257e8da49989738db5747e2b78d8
153
164
  - .git/objects/bd/eab0ec8a914cdd8c9341340191c116a4bf2d3e
@@ -155,8 +166,10 @@ files:
155
166
  - .git/objects/c0/724bc45e241d336d6376f14d9b258c2e4744d4
156
167
  - .git/objects/c1/3cf3c2ea85ec40544fe31702b2cfe6091aed6e
157
168
  - .git/objects/c1/424cadd8817a7e927742e52945f303b38e7222
169
+ - .git/objects/c4/524d9d99c6072949bfc565f78b7a62577ffa3f
158
170
  - .git/objects/c5/64ac68ebc8e0db7a6355a45f3299829ef2a825
159
171
  - .git/objects/c7/a9ce2f4c2230143a30c77952c14ddf6507f511
172
+ - .git/objects/c8/e50fcfb3ed2c892a6c75e8d703552bb8edd4ca
160
173
  - .git/objects/ca/c13b06411cdb70ac35d51ecf9efb0907645bd1
161
174
  - .git/objects/cd/cf979816bbea77b6000145a1e23921553bf497
162
175
  - .git/objects/d0/ca1129a25def590908081d9dc166d5288fddf0
@@ -168,6 +181,8 @@ files:
168
181
  - .git/objects/d5/86dc7698c6ec37db86e9f36a16bd671e0005ab
169
182
  - .git/objects/d5/a2b441718a88aa08fa937352a6d80319bc91c0
170
183
  - .git/objects/d9/0981681872c639fc00eb95ffa9dc17ad9f9599
184
+ - .git/objects/db/951c9a303fba608e0066e2aa68c3b7d8d9aea6
185
+ - .git/objects/db/d962bcfbb85c6da46c868594983f3cda9fcad8
171
186
  - .git/objects/dd/ad36d883dd04cb1b68f0f81d5b3fa98b8551e3
172
187
  - .git/objects/de/10bee1e91cfbd53ccaa073aada68cbfeac22d8
173
188
  - .git/objects/de/57906fbec41c830adf724743fd20dba762acab
@@ -181,6 +196,7 @@ files:
181
196
  - .git/objects/e8/0a14e4bfbbd08f0fee02bc492dc25d22dfed18
182
197
  - .git/objects/e8/0fdfb7dcc3e47a97e3400d4a66739e8c9816c2
183
198
  - .git/objects/e8/8c08dea8850c34f14a6cb67660174d186f9e0a
199
+ - .git/objects/e8/e3794adaa5886984bd0c0ff90980353de03c9b
184
200
  - .git/objects/ea/50407bf8daef694d22268540dd55eb3a739bad
185
201
  - .git/objects/eb/950b1535bf0671019ba323386deea2598ce246
186
202
  - .git/objects/eb/9701e2dbe8fb606315f9514d789188160bdd67
@@ -188,11 +204,14 @@ files:
188
204
  - .git/objects/ee/ccaf0d272346a1dcc672a4131ba692a0027049
189
205
  - .git/objects/f0/af2f0e63f924f45e55af90e691f3588552ffc9
190
206
  - .git/objects/f2/196f15b2d432b2a2d641aed4ae5afe7190edb9
207
+ - .git/objects/f2/efda050bcf5d33d3f8e8fb2848b0be926c1731
191
208
  - .git/objects/f3/3573a82a9e7dbf9bc7f5b3feded4c223701d1f
192
209
  - .git/objects/f3/7784042bc99c16c02fd104dda82aafa42d4c9c
193
210
  - .git/objects/f5/91a5c39e03e2102c9101db957b48c8c76e194c
194
211
  - .git/objects/f6/3ad03a8daa1602df63aab3838947c18fa63797
195
212
  - .git/objects/f9/8d0f95460a7a3f63ab4c08ad5508fd32d1b5c2
213
+ - .git/objects/f9/ef6dd08a60dec5d5e4e7a9b08f693ebf76da39
214
+ - .git/objects/fa/4e345a8b9a12bf1cf7af254b3caa111b04191b
196
215
  - .git/objects/fb/05e1cc9825c59c7edc596c05077a1eed9c321e
197
216
  - .git/objects/pack/pack-c7edd4d292858ed6a37a55c1b6ceb35f65f4587e.idx
198
217
  - .git/objects/pack/pack-c7edd4d292858ed6a37a55c1b6ceb35f65f4587e.pack
@@ -211,12 +230,12 @@ files:
211
230
  - lib/rails_ext/config_files/safe_hash.rb
212
231
  - lib/rails_ext/config_files.rb
213
232
  - lib/rails_ext/create_public_symlinks.rb
214
- - lib/rails_ext/defer_javascript.rb
233
+ - lib/rails_ext/defer_static_javascripts.rb
215
234
  - lib/rails_ext/email_config.rb
216
235
  - lib/rails_ext/global_path_prefix.rb
217
236
  - lib/rails_ext/hacks/ajax_flash.rb
218
237
  - lib/rails_ext/hacks/ajax_redirect_to.rb
219
- - lib/rails_ext/hacks/defer_javascript.rb
238
+ - lib/rails_ext/hacks/defer_static_javascripts.rb
220
239
  - lib/rails_ext/hacks/global_path_prefix.rb
221
240
  - lib/rails_ext/hacks/link_to.rb
222
241
  - lib/rails_ext/hacks/merge_default_scope.rb
@@ -226,6 +245,7 @@ files:
226
245
  - lib/rails_ext/i18n_helper.rb
227
246
  - lib/rails_ext/merge_default_scope/hash_poser.rb
228
247
  - lib/rails_ext/merge_default_scope.rb
248
+ - lib/rails_ext/micelaneous.rb
229
249
  - lib/rails_ext/model.rb
230
250
  - lib/rails_ext/mongo_mapper.rb
231
251
  - lib/rails_ext/mongo_mapper_spec_helper.rb
@@ -1,51 +0,0 @@
1
- ActionController::Base.class_eval do
2
- def self.defer_scripts
3
- before_filter :defer_scripts
4
- end
5
-
6
- def defer_scripts
7
- Thread.current[:deferred_scripts_called] = false
8
- Thread.current[:defer_scripts] = request.xhr? ? false : true
9
- end
10
-
11
- def self.defer_scripts?
12
- !!Thread.current[:defer_scripts]
13
- end
14
- end
15
-
16
- ActionView::Base.class_eval do
17
- def defer_scripts?
18
- ActionController::Base.defer_scripts?
19
- end
20
-
21
- def initialize_deferred_scripts
22
- return "" unless defer_scripts?
23
- not_deferred_script do
24
- javascript_tag "var deferred = [];"
25
- end
26
- end
27
-
28
- def not_deferred_script &block
29
- before = Thread.current[:defer_scripts]
30
- begin
31
- Thread.current[:defer_scripts] = false
32
- block.call
33
- ensure
34
- Thread.current[:defer_scripts] = before
35
- end
36
- end
37
-
38
- def call_deferred_scripts
39
- return "" unless defer_scripts?
40
- Thread.current[:deferred_scripts_called] = true
41
- content = <<END
42
- $.each(deferred, function(){this()});
43
- $('._deferred').show();
44
- deferred = [];
45
- END
46
- not_deferred_script do
47
- javascript_tag content
48
- end
49
- end
50
-
51
- end