The abstract parent class of the various selector sequence classes.
All subclasses should implement a `members` method that returns an array of object that respond to `line=` and `filename=`, as well as a `to_a` method that returns an array of strings and script nodes.
Checks equality between this and another object.
Subclasses should define `#_eql?` rather than overriding this method, which handles checking class equality and hash equality.
@param other [Object] The object to test equality against @return [Boolean] Whether or not this is equal to `other`
# File lib/sass/selector/abstract_sequence.rb, line 57 def eql?(other) other.class == self.class && other.hash == self.hash && _eql?(other) end
Sets the name of the file in which this selector was declared, or `nil` if it was not declared in a file (e.g. on stdin). This also sets the filename for all child selectors.
@param filename [String, nil] @return [String, nil]
# File lib/sass/selector/abstract_sequence.rb, line 35 def filename=(filename) members.each {|m| m.filename = filename} @filename = filename end
Returns a hash code for this sequence.
Subclasses should define `#_hash` rather than overriding this method, which automatically handles memoizing the result.
@return [Fixnum]
# File lib/sass/selector/abstract_sequence.rb, line 46 def hash @_hash ||= _hash end
Sets the line of the Sass template on which this selector was declared. This also sets the line for all child selectors.
@param line [Fixnum] @return [Fixnum]
# File lib/sass/selector/abstract_sequence.rb, line 24 def line=(line) members.each {|m| m.line = line} @line = line end
Converts the selector into a string. This is the standard selector string, along with any SassScript interpolation that may exist.
@return [String]
# File lib/sass/selector/abstract_sequence.rb, line 66 def to_s to_a.map {|e| e.is_a?(Sass::Script::Node) ? "\#{#{e.to_sass}}" : e}.join end
Generated with the Darkfish Rdoc Generator 2.