rails-ext 0.2.6 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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