# encoding: utf-8
# Модуль содержит методы объединения записей ActiveRecord
#
# После расширения класса, унаследованного от ActiveRecord::Base
# становится доступен метод класса ::merge_all, объединяющий записи.
#
module ActiveMerge
extend ActiveSupport::Autoload
autoload :SimpleService
autoload :Service
# Объединение указанных записей.
#
# class Lord < ActiveRecord::Base
# extend ActiveMerge
# end
#
# Lord.all.merge_all # => объединяет все записи
# Lord.where(id > 100) # => объединяет все записи с id > 100
#
# Детали см. в описании метода ActiveMerge::Service#provide
#
def merge_all
ActiveMerge::Service.new(self).provide
end
end