Advertisement
Guest User

Untitled

a guest
Feb 3rd, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. # app/models/user.rb
  2. class User
  3. include YodleeRegistrable
  4. end
  5.  
  6. # app/models/concers/yodlee_registrable.rb
  7. module YodleeRegistrable
  8. extend ActiveSupport::Concern
  9.  
  10. included do
  11. has_one :yodlee_user
  12.  
  13. scope :already_registered_on_yodlee?, ->(user_id) do
  14. #TODO
  15. end
  16. end
  17.  
  18. def default_yodlee_username
  19. "saveup_user_#{id}_#{name[0..7]}"
  20. end
  21.  
  22. def create_or_get_default_yoddlee_user
  23. return yodlee_user if yodlee_user.present?
  24.  
  25. yodlee_user = self.build_yodlee_user
  26.  
  27. yodlee_user.tap do |y_u|
  28. y_u.email = user.email
  29. y_u.username = user.default_yodlee_username
  30. y_u.password = YodleePassGenerator.create
  31. end
  32.  
  33. yodlee_user.save!
  34. end
  35. end
  36.  
  37. # app/models/yodlee_user.rb
  38. class YodleeUser
  39. belongs_to :user
  40. #columns: email, username, password, user_id
  41. end
  42.  
  43. # app/services/register_new_yodlee_user.rb
  44. class RegisterNewYodleeUser
  45. def call(user_id)
  46. raise Error if User.registered_on_yodlee?(user_id)
  47. user = User.find(user_id)
  48.  
  49. result = Yodlee::Api::V1::User.new.register(user.create_or_get_default_yoddlee_user)
  50. if result.success?
  51. yodlee_registrable.update_attributes!(yodlee_id: result.userId)
  52. else
  53. # Manage the error
  54. end
  55. end
  56. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement