class Sass::Selector::Simple

(that is, those that don’t compose multiple selectors).
The abstract superclass for simple selectors

def eql?(other)

Returns:
  • (Boolean) - Whether or not this is equal to `other`

Parameters:
  • other (Object) -- The object to test equality against
def eql?(other)
  other.class == self.class && other.hash == hash && other.equality_key == equality_key
end

def equality_key

Returns:
  • (String) -
def equality_key
  @equality_key ||= to_s
end

def hash

Returns:
  • (Integer) -
def hash
  @_hash ||= equality_key.hash
end

def inspect

Returns:
  • (String) -

Other tags:
    See: #to_s -
def inspect
  to_s
end

def to_s(opts = {})

Returns:
  • (String) -

Options Hash: (**opts)
  • :style (Symbol) -- The css rendering style.

Parameters:
  • opts (Hash) -- rendering options.
def to_s(opts = {})
  Sass::Util.abstract(self)
end

def unify(sels)

Raises:
  • (Sass::SyntaxError) - If this selector cannot be unified.

Returns:
  • (Array, nil) - A {SimpleSequence} {SimpleSequence#members members array}

Parameters:
  • sels (Array) -- A {SimpleSequence}'s {SimpleSequence#members members array}
def unify(sels)
  return sels.first.unify([self]) if sels.length == 1 && sels.first.is_a?(Universal)
  return sels if sels.any? {|sel2| eql?(sel2)}
  if !is_a?(Pseudo) || (sels.last.is_a?(Pseudo) && sels.last.type == :element)
    _, i = sels.each_with_index.find {|sel, _| sel.is_a?(Pseudo)}
  end
  return sels + [self] unless i
  sels[0...i] + [self] + sels[i..-1]
end

def unify_namespaces(ns1, ns2)

Returns:
  • (Array(String or nil, Boolean)) -

Parameters:
  • ns2 (String, nil) -- The second namespace. See `ns1`.
  • ns1 (String, nil) -- The first namespace.
def unify_namespaces(ns1, ns2)
  return ns2, true if ns1 == '*'
  return ns1, true if ns2 == '*'
  return nil, false unless ns1 == ns2
  [ns1, true]
end

def unique?

Returns:
  • (Boolean) -
def unique?
  false
end