class RackCAS::URL
Public Class Methods
parse(uri)
click to toggle source
Calls superclass method
# File lib/rack-cas/url.rb, line 5 def self.parse(uri) # I know this looks stupid but this seems to be the best way to get # Addressable to replace + spaces with %20 spaces. Standardizing on %20 # should prevent service lookup issues due to encoding differences. super.tap do |u| u.query_values = u.query_values end end
Public Instance Methods
add_params(params)
click to toggle source
# File lib/rack-cas/url.rb, line 20 def add_params(params) self.tap do |u| u.query_values = (u.query_values || {}).tap do |qv| params.each do |key, value| qv[key] = value end end end end
append_path(path)
click to toggle source
# File lib/rack-cas/url.rb, line 14 def append_path(path) self.tap do |u| u.path = (u.path.split('/') + [path]).join('/') end end
dup()
click to toggle source
Calls superclass method
# File lib/rack-cas/url.rb, line 48 def dup RackCAS::URL.new(super.to_hash) end
remove_param(param)
click to toggle source
# File lib/rack-cas/url.rb, line 30 def remove_param(param) remove_params(Array(param)) end
remove_params(params)
click to toggle source
params can be an array or a hash
# File lib/rack-cas/url.rb, line 35 def remove_params(params) self.tap do |u| u.query_values = (u.query_values || {}).tap do |qv| params.each do |key, value| qv.delete key end end if u.query_values.empty? u.query_values = nil end end end