Simple
A pseudoclass (e.g. `:visited`) or pseudoelement (e.g. `::first-line`) selector. It can have arguments (e.g. `:nth-child(2n+1)`).
Some psuedo-class-syntax selectors (`:after` and `:before) are actually considered pseudo-elements and must be at the end of the selector to function properly.
@return [Array<String>]
@param type [Symbol] See {#type} @param name [Array<String, Sass::Script::Node>] The name of the selector @param arg [nil, Array<String, Sass::Script::Node>] The argument to the selector,
or nil if no argument was given
# File lib/sass/selector.rb, line 382 def initialize(type, name, arg) @type = type @name = name @arg = arg end
# File lib/sass/selector.rb, line 388 def final? type == :class && FINAL_SELECTORS.include?(name.first) end
@see AbstractSequence#specificity
# File lib/sass/selector.rb, line 413 def specificity type == :class ? SPECIFICITY_BASE : 1 end
@see Selector#to_a
# File lib/sass/selector.rb, line 393 def to_a res = [@type == :class ? ":" : "::"] + @name (res << "(").concat(Sass::Util.strip_string_array(@arg)) << ")" if @arg res end
Returns `nil` if this is a pseudoelement selector and `sels` contains a pseudoelement selector different than this one.
@see Selector#unify
# File lib/sass/selector.rb, line 403 def unify(sels) return if type == :element && sels.any? do |sel| sel.is_a?(Pseudo) && sel.type == :element && (sel.name != self.name || sel.arg != self.arg) end return sels + [self] if final? super end
Generated with the Darkfish Rdoc Generator 2.