Class Sass::Selector::Pseudo
In: lib/sass/selector.rb
Parent: Simple
Haml::Util Engine Color SyntaxError UnitConversionError StandardError AbstractSequence CommaSequence Sequence SimpleSequence Simple Parent Universal Class SelectorPseudoClass Id Pseudo Attribute Interpolation Element Node Operation Literal UnaryOperation StringInterpolation Funcall Interpolation Variable Lexer CssLexer Number Bool String Parser Parser CssParser EvaluationContext StaticParser SassParser CssParser Node DebugNode IfNode CommentNode ForNode PropNode MixinNode DirectiveNode ExtendNode VariableNode WarnNode RootNode WhileNode RuleNode MixinDefNode Enumerable ImportNode Merb::BootLoader MerbBootLoader Repl CSS Environment Rack StalenessChecker lib/sass/repl.rb lib/sass/css.rb lib/sass/environment.rb lib/sass/error.rb lib/sass/engine.rb lib/sass/selector/simple_sequence.rb lib/sass/selector/abstract_sequence.rb lib/sass/selector/sequence.rb lib/sass/selector/comma_sequence.rb lib/sass/selector/simple.rb lib/sass/selector.rb Selector lib/sass/script/css_parser.rb lib/sass/script/lexer.rb lib/sass/script/color.rb lib/sass/script/string.rb lib/sass/script/unary_operation.rb lib/sass/script/variable.rb lib/sass/script/funcall.rb lib/sass/script/string_interpolation.rb lib/sass/script/operation.rb lib/sass/script/bool.rb lib/sass/script/parser.rb lib/sass/script/literal.rb lib/sass/script/node.rb lib/sass/script/interpolation.rb lib/sass/script/css_lexer.rb lib/sass/script/number.rb lib/sass/script/functions.rb Functions Script lib/sass/scss/sass_parser.rb lib/sass/scss/static_parser.rb lib/sass/scss/parser.rb lib/sass/scss/css_parser.rb ScriptLexer ScriptParser RX SCSS Files Callbacks lib/sass/tree/while_node.rb lib/sass/tree/if_node.rb lib/sass/tree/mixin_def_node.rb lib/sass/tree/debug_node.rb lib/sass/tree/root_node.rb lib/sass/tree/for_node.rb lib/sass/tree/import_node.rb lib/sass/tree/prop_node.rb lib/sass/tree/node.rb lib/sass/tree/comment_node.rb lib/sass/tree/extend_node.rb lib/sass/tree/mixin_node.rb lib/sass/tree/warn_node.rb lib/sass/tree/directive_node.rb lib/sass/tree/rule_node.rb lib/sass/tree/variable_node.rb Tree lib/sass/plugin/rack.rb lib/sass/plugin/staleness_checker.rb lib/sass/plugin/merb.rb Plugin Sass dot/m_85_0.png

A pseudoclass (e.g. `:visited`) or pseudoelement (e.g. `::first-line`) selector. It can have arguments (e.g. `:nth-child(2n+1)`).

Methods

new   to_a   unify  

Attributes

arg  [R]  The argument to the selector, or `nil` if no argument was given.

This may include SassScript nodes that will be run during resolution. Note that this should not include SassScript nodes after resolution has taken place.

@return [Array<String, Sass::Script::Node>, nil]

name  [R]  The name of the selector.

@return [Array<String, Sass::Script::Node>]

type  [R]  The type of the selector. `:class` if this is a pseudoclass selector, `:element` if it‘s a pseudoelement.

@return [Symbol]

Public Class methods

@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

[Source]

     # File lib/sass/selector.rb, line 309
309:       def initialize(type, name, arg)
310:         @type = type
311:         @name = name
312:         @arg = arg
313:       end

Public Instance methods

@see Selector#to_a

[Source]

     # File lib/sass/selector.rb, line 316
316:       def to_a
317:         res = [@type == :class ? ":" : "::"] + @name
318:         (res << "(").concat(Haml::Util.strip_string_array(@arg)) << ")" if @arg
319:         res
320:       end

Returns `nil` if this is a pseudoclass selector and `sels` contains a pseudoclass selector different than this one.

@see Selector#unify

[Source]

     # File lib/sass/selector.rb, line 326
326:       def unify(sels)
327:         return if type == :element && sels.any? do |sel|
328:           sel.is_a?(Pseudo) && sel.type == :element &&
329:             (sel.name != self.name || sel.arg != self.arg)
330:         end
331:         super
332:       end

[Validate]