class Sass::Selector::CommaSequence

A comma-separated sequence of selectors.

def _eql?(other)

def _eql?(other)
  other.class == self.class && other.members.eql?(members)
end

def _hash

def _hash
  members.hash
end

def do_extend(extends, parent_directives)

Returns:
  • (CommaSequence) - A copy of this selector,

Parameters:
  • parent_directives (Array) --
  • extends (Sass::Util::SubsetMap{Selector::Simple =>) -- xtends [Sass::Util::SubsetMap{Selector::Simple =>

Other tags:
    Todo: - Link this to the reference documentation on `@extend`
def do_extend(extends, parent_directives)
  CommaSequence.new(members.map do |seq|
    extended = seq.do_extend(extends, parent_directives)
    # First Law of Extend: the result of extending a selector should
    # always contain the base selector.
    #
    # See https://github.com/nex3/sass/issues/324.
    extended.unshift seq unless seq.has_placeholder? || extended.include?(seq)
    extended
  end.flatten)
end

def initialize(seqs)

Parameters:
  • seqs (Array) -- See \{#members}
def initialize(seqs)
  @members = seqs
end

def inspect

Returns:
  • (String) -
def inspect
  members.map {|m| m.inspect}.join(", ")
end

def resolve_parent_refs(super_cseq, implicit_parent = true)

Raises:
  • (Sass::SyntaxError) - If a parent selector is invalid

Returns:
  • (CommaSequence) - This selector, with parent references resolved

Parameters:
  • implicit_parent (Boolean) -- Whether the the parent
  • super_cseq (CommaSequence) -- The parent selector
def resolve_parent_refs(super_cseq, implicit_parent = true)
  if super_cseq.nil?
    if @members.any? do |sel|
         sel.members.any? do |sel_or_op|
           sel_or_op.is_a?(SimpleSequence) &&
             sel_or_op.members.any? {|ssel| ssel.is_a?(Parent)}
         end
       end
      raise Sass::SyntaxError.new(
        "Base-level rules cannot contain the parent-selector-referencing character '&'.")
    end
    return self
  end
  CommaSequence.new(Sass::Util.flatten_vertically(@members.map do |seq|
    seq.resolve_parent_refs(super_cseq, implicit_parent).members
  end))
end

def to_a

Other tags:
    See: Simple#to_a -
def to_a
  arr = Sass::Util.intersperse(@members.map {|m| m.to_a}, ", ").flatten
  Sass::Util.replace_subseq(arr, [", ", "\n"], [",\n"])
end