class Omnigollum::Models::OmniauthUser

Public Class Methods

new(hash, options) click to toggle source
# File lib/omnigollum.rb, line 16
def initialize (hash, options)
  # Validity checks, don't trust providers
  @uid = hash['uid'].to_s.strip
  raise OmniauthUserInitError, "Insufficient data from authentication provider, uid not provided or empty" if @uid.empty?

  @name = hash['info']['name'].to_s.strip if hash['info'].has_key?('name')
  @name = options[:default_name] if !@name || @name.empty?

  raise OmniauthUserInitError, "Insufficient data from authentication provider, name not provided or empty" if !@name || @name.empty?

  @email = hash['info']['email'].to_s.strip if hash['info'].has_key?('email')
  @email = options[:default_email] if !@email || @email.empty?

  raise OmniauthUserInitError, "Insufficient data from authentication provider, email not provided or empty" if !@email || @email.empty?

  @nickname = hash['info']['nickname'].to_s.strip if hash['info'].has_key?('nickname')

  @provider = hash['provider']

  self
end