# 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()

      return unless %w(and or not).include?(name)
      raise Sass::SyntaxError.new("Invalid function name \"#{name}\".")
    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