class String
Public Instance Methods
^(other)
click to toggle source
# File lib/model_concerns/string.rb, line 4 def ^ (other) self_binary_array = self.unpack("U*") key_binary_array = other.unpack("U*") longest = [self_binary_array.length, key_binary_array.length].max self_binary_array = [0] * (longest - self_binary_array.length) + self_binary_array key_binary_array = [0] * (longest - key_binary_array.length) + key_binary_array return self_binary_array.zip(key_binary_array).map { |a, b| a ^ b }.trim_head.pack("U*") end