def enable_activerecord
return if ActiveRecord::Base.respond_to? :paginate
require 'will_paginate/finder'
ActiveRecord::Base.send :include, Finder
a = ActiveRecord::Associations
returning([ a::AssociationCollection ]) { |classes|
unless a::HasManyThroughAssociation.superclass == a::HasManyAssociation
classes << a::HasManyThroughAssociation
end
}.each do |klass|
klass.send :include, Finder::ClassMethods
klass.class_eval { alias_method_chain :method_missing, :paginate }
end
ActiveRecord::Base.class_eval do
protected
def self.construct_count_options_from_args(*args)
result = super
result[0] = '*' if result[0].is_a?(String) and result[0] =~ /\.\*$/
result
end
end
end