Clarificação no Ruby << Operator

Eu sou bastante novo para Ruby e estou pensando sobre o<< operador. Quando pesquisei esse operador no Google, ele diz que é um operador de deslocamento à esquerda binário, dado este exemplo:

a << 2 darei15 qual é1111 0000

e qualquer forma, ele não parece ser um "Operador de deslocamento à esquerda binário" neste código:

class TextCompressor
  attr_reader :unique, :index

  def initialize(text)
    @unique = []
    @index = []

    add_text(text)
  end

  def add_text(text)
    words = text.split
    words.each { |word| do add_word(word) }
  end

  def add_word(word)
    i = unique_index_of(word) || add_unique_word(word)
    @index << i
  end

  def unique_index_of(word)
    @unique.index(word)
  end

  def add_unique_word
    @unique << word
    unique.size - 1
  end
end

andessa questã parece não se aplicar ao código que eu dei. Então, com o código que tenho, como o Ruby<< operador de trabalho?