class Sass::Tree::FunctionNode

A dynamic node representing a function definition.

@see Sass::Tree

Attributes

args[RW]

The arguments to the function. Each element is a tuple containing the variable for argument and the parse tree for the default value of the argument

@return [Array<Script::Tree::Node>]

name[R]

The name of the function. @return [String]

splat[RW]

The splat argument for this function, if one exists.

@return [Script::Tree::Node?]

Public Class Methods

new(name, args, splat) click to toggle source

@param name [String] The function name @param args [Array<(Script::Tree::Node, Script::Tree::Node)>]

The arguments for the function.

@param splat [Script::Tree::Node] See {#splat}

Calls superclass method
# File lib/sass/tree/function_node.rb, line 33
def initialize(name, args, splat)
  @name = name
  @args = args
  @splat = splat
  super()

  if %w[and or not].include?(name)
    raise Sass::SyntaxError.new("Invalid function name \"#{name}\".")
  end
end

Public Instance Methods

normalized_name() click to toggle source

Strips out any vendor prefixes. @return [String] The normalized name of the directive.

# File lib/sass/tree/function_node.rb, line 25
def normalized_name
  @normalized_name ||= name.gsub(/^(?:-[a-zA-Z0-9]+-)?/, '\1')
end