Advertisement
Guest User

Untitled

a guest
Apr 18th, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. user.profile_name #=> should return "user#{user.id}" if nil
  2.  
  3. # model User.rb
  4. def get_identifier
  5. profile_name ? profile_name : "user#{id}"
  6. end
  7.  
  8. id, user = params[:identifier], nil
  9. if id[0..3] == "user"
  10. user = User.find_by_id(id[3..-1].to_num)
  11. else
  12. user = User.find_by profile_name: id
  13.  
  14. class User
  15. def self.find_by_profile_name(profile_name)
  16. where(profile_name: profile_name).first || find_by_default_profile_name(profile_name)
  17. end
  18.  
  19. def self.find_by_default_profile_name(profile_name)
  20. where(id: DefaultProfileName.from_profile_name(profile_name).id)
  21. end
  22. end
  23.  
  24.  
  25. class DefaultProfileName
  26. attr_accessor :id
  27.  
  28. def self.from_profile_name(profile_name)
  29. new(profile_name.sub('user', ''))
  30. end
  31.  
  32. def initialize(id)
  33. self.id = id
  34. end
  35.  
  36. def to_s
  37. "user#{id}"
  38. end
  39. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement