class Sass::Selector::Sequence

def weave(path)

Returns:
  • (Array>) - A list of fully-expanded selectors.

Parameters:
  • path (Array>) -- A list of parenthesized selector groups.
def weave(path)
  befores = [[]]
  afters = path.dup
  until afters.empty?
    current = afters.shift.dup
    last_current = [current.pop]
    while !current.empty? && last_current.first.is_a?(String) || current.last.is_a?(String)
      last_current.unshift(current.pop)
    end
    befores = Sass::Util.flatten(befores.map do |before|
        subweave(before, current).map {|seqs| seqs + last_current}
      end, 1)
    return befores if afters.empty?
  end
end