# File lib/guid.rb, line 98
 98:   def self.from_s(s)
 99:     raise ArgumentError, "Invalid GUID hexstring" unless
100:       s =~ /\A[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}\z/i
101:     guid = Guid.allocate
102:     guid.instance_eval { @bytes = [s.gsub(/[^0-9a-f]+/i, '')].pack "h*" }
103:     guid
104:   end