Sha256: 050445ec15fe7ffc85623f96454e5380a46e067a95ebf559e35b7a3093ea7624

Contents?: true

Size: 924 Bytes

Versions: 4

Compression:

Stored size: 924 Bytes

Contents

class PatronMergeList < ActiveRecord::Base
  attr_accessible :title
  has_many :patron_merges, :dependent => :destroy
  has_many :patrons, :through => :patron_merges
  validates_presence_of :title

  paginates_per 10

  def merge_patrons(selected_patron)
    self.patrons.each do |patron|
      Create.update_all(['patron_id = ?', selected_patron.id], ['patron_id = ?', patron.id])
      Produce.update_all(['patron_id = ?', selected_patron.id], ['patron_id = ?', patron.id])
      Own.update_all(['patron_id = ?', selected_patron.id], ['patron_id = ?', patron.id])
      Donate.update_all(['patron_id = ?', selected_patron.id], ['patron_id = ?', patron.id])
      patron.destroy unless patron == selected_patron
    end
  end
end

# == Schema Information
#
# Table name: patron_merge_lists
#
#  id         :integer         not null, primary key
#  title      :string(255)
#  created_at :datetime
#  updated_at :datetime
#

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
enju_resource_merge-0.1.0.pre4 app/models/patron_merge_list.rb
enju_resource_merge-0.1.0.pre3 app/models/patron_merge_list.rb
enju_resource_merge-0.1.0.pre2 app/models/patron_merge_list.rb
enju_resource_merge-0.1.0.pre app/models/patron_merge_list.rb