Sha256: 9ae29227a35e71f24474c185a69e3841719fec6c66c3a279e7dd6ce66f886a72

Contents?: true

Size: 940 Bytes

Versions: 4

Compression:

Stored size: 940 Bytes

Contents

# encoding: utf-8

# Модуль содержит методы объединения записей ActiveRecord
#
# После расширения класса, унаследованного от <tt>ActiveRecord::Base</tt>
# становится доступен метод класса <tt>::merge_all</tt>, объединяющий записи.
#
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
  #
  # Детали см. в описании метода <tt>ActiveMerge::Service#provide</tt>
  #
  def merge_all
    ActiveMerge::Service.new(self).provide
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
active_merge-1.0.4 lib/active_merge.rb
active_merge-1.0.3 lib/active_merge.rb
active_merge-1.0.2 lib/active_merge.rb
active_merge-1.0.1 lib/active_merge.rb