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