module Simple::Sharding::ActiveRecordExtensions

Public Class Methods

extend_active_record_scope() click to toggle source
# 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