class Ddr::Auth::WebAuthContext

Public Instance Methods

affiliation() click to toggle source

@return [Array<String>]

Calls superclass method Ddr::Auth::AuthContext#affiliation
# File lib/ddr/auth/web_auth_context.rb, line 13
def affiliation
  if anonymous?
    super
  else
    split_env("affiliation").map { |a| a.sub(/@duke\.edu\z/, "") }
  end
end
ip_address() click to toggle source

@return [String] the IP address, or nil @see ActionDispatch::RemoteIp

# File lib/ddr/auth/web_auth_context.rb, line 6
def ip_address
  if middleware = env["action_dispatch.remote_ip"]
    middleware.calculate_ip
  end
end
ismemberof() click to toggle source

@return [Array<String>]

Calls superclass method Ddr::Auth::AuthContext#ismemberof
# File lib/ddr/auth/web_auth_context.rb, line 22
def ismemberof
  anonymous? ? super : split_env("isMemberOf")
end

Private Instance Methods

split_env(attr, delim = ";") click to toggle source
# File lib/ddr/auth/web_auth_context.rb, line 28
def split_env(attr, delim = ";")
  val = env[attr] || env["HTTP_#{attr.upcase}"]
  val ? val.split(delim) : []
end