Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def self.age_within(mid_age)
- case mid_age
- when 15..25
- where(:age => ((mid_age-5)<=15 ? 15 : mid_age-5)..(mid_age+10)) #zamena
- when 25..80
- where(:age => (mid_age-5)..(mid_age+10))
- when 80..99
- where(:age => 70..99)
- end
- scoped
- end
- def self.idlers(symb, wud)
- idlers = where('last_seen < ?', (Time.now - 1.year).to_formatted_s(:db)) #those who need a WUD
- case symb
- when :proximity
- idlers.each do |target|
- suggestions = near([target.latitude, target.longitude], 20).age_within(target.age).limit(3)
- WudMailer.proximity(target, suggestions, wud).deliver
- end
- when :interests
- idlers.each do |target|
- suggestions = age_within(target.age).random(3).collect{|e| [e, Interest.similar(e.tinterest)]}
- for i in suggestions.size..3-1
- suggestions.push age_within(target.age).random(3).collect{|e| [e, Interest.random_with_user(e.tinterest)]}
- end
- WudMailer.top_interest(target, suggestions, wud).deliver
- end
- when :anyone
- idlers.each do |target|
- suggestions = age_within(target.age).random(3).collect{|e| [e, Interest.random_with_user(e.tinterest)]}
- WudMailer.proximity(target, suggestions, wud).deliver
- end
- end unless idlers.empty?
- end
Add Comment
Please, Sign In to add comment