Sha256: 3b94872f74058c48c7965de0db3e9ddf72a65c99b608860b1262f341bce4bd39
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
require 'hashie/mash' module OmniAuth # The AuthHash is a normalized schema returned by all OmniAuth # strategies. It maps as much user information as the provider # is able to provide into the InfoHash (stored as the `'info'` # key). class AuthHash < Hashie::Mash # Tells you if this is considered to be a valid # OmniAuth AuthHash. The requirements for that # are that it has a provider name, a uid, and a # valid info hash. See InfoHash#valid? for # more details there. def valid? uid? && provider? && info? && info.valid? end def regular_writer(key, value) if key.to_s == 'info' && !value.is_a?(InfoHash) value = InfoHash.new(value) end super end class InfoHash < Hashie::Mash def name return self[:name] if self[:name] return "#{first_name} #{last_name}".strip if first_name? || last_name? return nickname if nickname? return email if email? nil end def name?; !!name end def valid? name? end def to_hash hash = super hash['name'] ||= name hash end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
omniauth-1.0.0.pr2 | lib/omniauth/auth_hash.rb |
omniauth-1.0.0.pr1 | lib/omniauth/auth_hash.rb |