Commit 6b037511b4a9541c892fdf559ac4bd81856d0dac
1 parent
2f6c86d9
Exists in
master
and in
28 other branches
named_scope_monkey_patch: move to solr plugin
Showing
2 changed files
with
57 additions
and
57 deletions
Show diff stats
plugins/solr/vendor/plugins/named_scope_with_applied_names/init.rb
0 → 100644
... | ... | @@ -0,0 +1,57 @@ |
1 | +require_dependency 'active_record/named_scope' | |
2 | + | |
3 | +if Rails::VERSION::STRING < "2.3.99" | |
4 | + | |
5 | + module ::ActiveRecord | |
6 | + | |
7 | + module NamedScope | |
8 | + | |
9 | + module ClassMethods | |
10 | + | |
11 | + def named_scope_with_applied_names name, options = {}, &block | |
12 | + named_scope_without_applied_names name, options, &block | |
13 | + | |
14 | + name = name.to_sym | |
15 | + scopes[name] = lambda do |parent_scope, *args| | |
16 | + scope = Scope.new(parent_scope, case options | |
17 | + when Hash | |
18 | + options | |
19 | + when Proc | |
20 | + if self.model_name != parent_scope.model_name | |
21 | + options.bind(parent_scope).call(*args) | |
22 | + else | |
23 | + options.call(*args) | |
24 | + end | |
25 | + end, &block) | |
26 | + scope.scope_name = name | |
27 | + scope | |
28 | + end | |
29 | + end | |
30 | + alias_method_chain :named_scope, :applied_names | |
31 | + end | |
32 | + | |
33 | + class Scope | |
34 | + attr_accessor :scope_name, :scopes_applied | |
35 | + | |
36 | + def initialize_with_applied_names proxy_scope, options, &block | |
37 | + initialize_without_applied_names proxy_scope, options, &block | |
38 | + self.scopes_applied ||= [] | |
39 | + self.scopes_applied += proxy_scope.send :scopes_applied if Scope === proxy_scope | |
40 | + | |
41 | + # unrelated bugfix: use if instead of unless | |
42 | + if (Scope === proxy_scope || ActiveRecord::Associations::AssociationCollection === proxy_scope) | |
43 | + @current_scoped_methods_when_defined = proxy_scope.send(:current_scoped_methods) | |
44 | + end | |
45 | + end | |
46 | + alias_method_chain :initialize, :applied_names | |
47 | + | |
48 | + def scope_name= name | |
49 | + @scope_name = name | |
50 | + self.scopes_applied << @scope_name | |
51 | + end | |
52 | + | |
53 | + end | |
54 | + | |
55 | + end | |
56 | + end | |
57 | +end | ... | ... |
vendor/plugins/monkey_patches/named_scope_with_applied_names/init.rb
... | ... | @@ -1,57 +0,0 @@ |
1 | -require_dependency 'active_record/named_scope' | |
2 | - | |
3 | -if Rails::VERSION::STRING < "2.3.99" | |
4 | - | |
5 | - module ::ActiveRecord | |
6 | - | |
7 | - module NamedScope | |
8 | - | |
9 | - module ClassMethods | |
10 | - | |
11 | - def named_scope_with_applied_names name, options = {}, &block | |
12 | - named_scope_without_applied_names name, options, &block | |
13 | - | |
14 | - name = name.to_sym | |
15 | - scopes[name] = lambda do |parent_scope, *args| | |
16 | - scope = Scope.new(parent_scope, case options | |
17 | - when Hash | |
18 | - options | |
19 | - when Proc | |
20 | - if self.model_name != parent_scope.model_name | |
21 | - options.bind(parent_scope).call(*args) | |
22 | - else | |
23 | - options.call(*args) | |
24 | - end | |
25 | - end, &block) | |
26 | - scope.scope_name = name | |
27 | - scope | |
28 | - end | |
29 | - end | |
30 | - alias_method_chain :named_scope, :applied_names | |
31 | - end | |
32 | - | |
33 | - class Scope | |
34 | - attr_accessor :scope_name, :scopes_applied | |
35 | - | |
36 | - def initialize_with_applied_names proxy_scope, options, &block | |
37 | - initialize_without_applied_names proxy_scope, options, &block | |
38 | - self.scopes_applied ||= [] | |
39 | - self.scopes_applied += proxy_scope.send :scopes_applied if Scope === proxy_scope | |
40 | - | |
41 | - # unrelated bugfix: use if instead of unless | |
42 | - if (Scope === proxy_scope || ActiveRecord::Associations::AssociationCollection === proxy_scope) | |
43 | - @current_scoped_methods_when_defined = proxy_scope.send(:current_scoped_methods) | |
44 | - end | |
45 | - end | |
46 | - alias_method_chain :initialize, :applied_names | |
47 | - | |
48 | - def scope_name= name | |
49 | - @scope_name = name | |
50 | - self.scopes_applied << @scope_name | |
51 | - end | |
52 | - | |
53 | - end | |
54 | - | |
55 | - end | |
56 | - end | |
57 | -end |