Module: URI::Component::UserInfoMixin

Defined in:
lib/uri/component/userinfo.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#initialize_copy(uri) ⇒ Object



92
93
94
95
96
97
98
# File 'lib/uri/component/userinfo.rb', line 92

def initialize_copy(uri)
	if (userinfo = uri.instance_variable_get('@userinfo_component'))
	  @userinfo_component = userinfo.dup
	end

	super(uri)
end

#passwordObject



131
132
133
134
# File 'lib/uri/component/userinfo.rb', line 131

def password
	pass = @userinfo_component.password
	return pass ? @userinfo_component.escape_element(pass) : nil
end

#password=(pass_uri) ⇒ Object



136
137
138
# File 'lib/uri/component/userinfo.rb', line 136

def password=(pass_uri)
	@userinfo_component.password = pass_uri ? URI.unescape(pass_uri) : nil
end

#userObject



111
112
113
114
115
116
117
118
119
# File 'lib/uri/component/userinfo.rb', line 111

def user
	user = @userinfo_component.user
	return nil unless user

	domain = @userinfo_component.domain
	user_uri = domain ? @userinfo_component.escape_element(domain) + ';' : ''
	user_uri += @userinfo_component.escape_element(user)
	return user_uri
end

#user=(user_uri) ⇒ Object



121
122
123
124
125
126
127
128
129
# File 'lib/uri/component/userinfo.rb', line 121

def user=(user_uri)
	if user_uri
	  m = user_uri.match(/^(?:(.*);)?(.*)$/)
	  @userinfo_component.domain = m[1] ? URI.unescape(m[1]) : nil
	  @userinfo_component.user = URI.unescape(m[2])
	else
	  @userinfo_component.user = nil
	end
end

#userinfoObject



100
101
102
# File 'lib/uri/component/userinfo.rb', line 100

def userinfo
	return @userinfo_component ? @userinfo_component.to_uri : nil
end

#userinfo=(info_str) ⇒ Object



104
105
106
107
108
109
# File 'lib/uri/component/userinfo.rb', line 104

def userinfo=(info_str)
	super(info_str)

	parse_userinfo!
	return self.userinfo
end

#userinfo_componentObject Also known as: userinfo_c



140
141
142
143
# File 'lib/uri/component/userinfo.rb', line 140

def userinfo_component
	parse_userinfo! unless @userinfo_component
	return @userinfo_component
end