Module: Simple::Sharding::ActiveRecordExtensions

Defined in:
lib/simple/sharding/active_record_extensions.rb

Class Method Summary collapse

Class Method Details

.extend_active_record_scopeObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/simple/sharding/active_record_extensions.rb', line 3

def self.extend_active_record_scope
  # return if exist
  return if ActiveRecord::Base.respond_to?(:sharding)

  # include sharding in class and instance
  ActiveRecord::Base.extend ScopeMethods
  ActiveRecord::Base.include ScopeMethods
  ActiveRecord::extend CaseFixer

  # Includes scope method in scopes
  ActiveRecord::Relation.include ScopeMethods
  ActiveRecord::Relation.extend CaseFixer

  # Includes scope method in has_many and habtm relations
  ActiveRecord::Scoping.include ScopeMethods
  ActiveRecord::Scoping.extend CaseFixer
end