class WinewooCore::Repositories::Mongo::InterproWinewooUsersMongoRepo
Public Instance Methods
create(interpro, winewoo_user_params)
click to toggle source
# File lib/winewoo_core/repositories/mongo/interpro_winewoo_users_mongo_repo.rb, line 9 def create(interpro, winewoo_user_params) wuser = User.create(winewoo_user_params.get) wuser.email = generate_email if wuser.email.blank? wuser.password = Devise.friendly_token.first(8) if wuser.password.blank? wuser.save_for_interpro(interpro) if interpro device = create_device(wuser, winewoo_user_params) return wuser, device end
get(winewoo_user_id)
click to toggle source
# File lib/winewoo_core/repositories/mongo/interpro_winewoo_users_mongo_repo.rb, line 4 def get(winewoo_user_id) User.find(winewoo_user_id) end
Private Instance Methods
create_device(user, params)
click to toggle source
# File lib/winewoo_core/repositories/mongo/interpro_winewoo_users_mongo_repo.rb, line 28 def create_device(user, params) user_agent = params.user_agent device = user.winewoo_user_devices.create(device_model: user_agent.device_model, device_os: user_agent.device_os, device_os_version: user_agent.device_os_version, device_lang: user_agent.device_lang, device_screen_width: user_agent.device_screen_width, device_screen_height: user_agent.device_screen_height) user.current_device_id = device.id if device.persisted? return device end
generate_email()
click to toggle source
# File lib/winewoo_core/repositories/mongo/interpro_winewoo_users_mongo_repo.rb, line 21 def generate_email token = SecureRandom.urlsafe_base64 email = "winewooer-#{token}@winewoo.com" return User.find_by(email: email) ? generate_email : email end