class Addressable::URI
def origin=(new_origin)
-
new_origin(String, #to_str) -- The new origin component.
def origin=(new_origin) if new_origin if !new_origin.respond_to?(:to_str) raise TypeError, "Can't convert #{new_origin.class} into String." end new_origin = new_origin.to_str new_scheme = new_origin[/^([^:\/?#]+):\/\//, 1] unless new_scheme raise InvalidURIError, 'An origin cannot omit the scheme.' end new_host = new_origin[/:\/\/([^\/?#:]+)/, 1] unless new_host raise InvalidURIError, 'An origin cannot omit the host.' end new_port = new_origin[/:([^:@\[\]\/]*?)$/, 1] end self.scheme = new_scheme self.host = new_host self.port = new_port self.userinfo = nil # Reset dependent values @userinfo = nil @normalized_userinfo = NONE @authority = nil @normalized_authority = nil remove_composite_values # Ensure we haven't created an invalid URI validate() end