Module: URI::Component::UserInfoMixin

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

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(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(domain) + ';' : ''
  user_uri += @userinfo_component.escape(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
  @userinfo_component.to_uri
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