Method: MatrixSdk::MXID#initialize
- Defined in:
- lib/matrix_sdk/mxid.rb
#initialize(identifier) ⇒ MXID
Returns a new instance of MXID.
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/matrix_sdk/mxid.rb', line 8 def initialize(identifier) raise ArgumentError, 'Identifier must be a String' unless identifier.is_a? String raise ArgumentError, 'Identifier is too long' if identifier.size > 255 raise ArgumentError, 'Identifier lacks required data' unless identifier =~ %r{^([@!$+#][^:]+:[^:]+(?::\d+)?)|(\$[A-Za-z0-9+/]+)$} @sigil = identifier[0] @localpart, @domain, @port = identifier[1..-1].split(':') @port = @port.to_i if @port raise ArgumentError, 'Identifier is not a valid MXID' unless valid? end |