class Masososo::Indexer

Public Class Methods

index(sets, including_self) click to toggle source

rubocop:disable Lint/ShadowingOuterLocalVariable

# File lib/masososo/indexer.rb, line 6
def self.index(sets, including_self)
  sets.reduce({}) do |indexes, chars|
    chars.each_with_object(indexes) do |char, indexes|
      adding = including_self ? chars.dup : (chars - [char])

      if indexes[char].nil?
        indexes[char] = adding
      else
        indexes[char].concat(adding).uniq!
      end
    end
  end
end