Class: TransientObjects::UserMerger
- Inherits:
-
Object
- Object
- TransientObjects::UserMerger
- Defined in:
- app/models/transient_objects/user_merger.rb
Overview
< ActiveRecord::Base
Instance Method Summary collapse
- #families ⇒ Object
-
#initialize(users) ⇒ UserMerger
constructor
attr_accessible :title, :body.
- #merge_duplicate_users(structure) ⇒ Object
- #users_with_multiple_families ⇒ Object
Constructor Details
#initialize(users) ⇒ UserMerger
attr_accessible :title, :body
4 5 6 |
# File 'app/models/transient_objects/user_merger.rb', line 4 def initialize users @users = users end |
Instance Method Details
#families ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'app/models/transient_objects/user_merger.rb', line 16 def families families = Array.new @users.each do |user| fmm = FamilyMemberMerger.new user.families dups = fmm.families_with_duplicate_members families.push( [ user, dups ] ) unless dups.empty? end families end |
#merge_duplicate_users(structure) ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'app/models/transient_objects/user_merger.rb', line 27 def merge_duplicate_users structure u1 = structure[1][0][1][0][0] u2 = structure[1][0][1][0][1] if u2.links.empty? u1.merge u2 else u2.merge u1 end end |
#users_with_multiple_families ⇒ Object
8 9 10 11 12 13 14 |
# File 'app/models/transient_objects/user_merger.rb', line 8 def users_with_multiple_families users_multi = Array.new @users.each do |user| users_multi.push( user ) if user.families.uniq.count > 1 end users_multi end |