Commit 6b037511b4a9541c892fdf559ac4bd81856d0dac

Authored by Rodrigo Souto
1 parent 2f6c86d9

named_scope_monkey_patch: move to solr plugin

plugins/solr/vendor/plugins/named_scope_with_applied_names/init.rb 0 → 100644
@@ -0,0 +1,57 @@ @@ -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,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