Class Sass::Tree::MixinDefNode
In: lib/sass/tree/mixin_def_node.rb
Parent: Node
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 CharsetNode DirectiveNode VariableNode WarnNode ExtendNode RootNode WhileNode MixinDefNode RuleNode 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/node.rb lib/sass/script/literal.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 Callbacks Files 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/charset_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_86_0.png

A dynamic node representing a mixin definition.

@see Sass::Tree

Methods

_perform   new   to_src  

Public Class methods

@param name [String] The mixin name @param args [Array<(Script::Node, Script::Node)>] The arguments for the mixin.

  Each element is a tuple containing the variable for argument
  and the parse tree for the default value of the argument

[Source]

    # File lib/sass/tree/mixin_def_node.rb, line 11
11:       def initialize(name, args)
12:         @name = name
13:         @args = args
14:         super()
15:       end

Protected Instance methods

Loads the mixin into the environment.

@param environment [Sass::Environment] The lexical environment containing

  variable and mixin values

[Source]

    # File lib/sass/tree/mixin_def_node.rb, line 42
42:       def _perform(environment)
43:         environment.set_mixin(@name, Sass::Mixin.new(@name, @args, environment, children))
44:         []
45:       end

@see Node#to_src

[Source]

    # File lib/sass/tree/mixin_def_node.rb, line 20
20:       def to_src(tabs, opts, fmt)
21:         args =
22:           if @args.empty?
23:             ""
24:           else
25:             '(' + @args.map do |v, d|
26:               if d
27:                 "#{v.to_sass(opts)}: #{d.to_sass(opts)}"
28:               else
29:                 v.to_sass(opts)
30:               end
31:             end.join(", ") + ')'
32:           end
33:               
34:         "#{'  ' * tabs}#{fmt == :sass ? '=' : '@mixin '}#{dasherize(@name, opts)}#{args}" +
35:           children_to_src(tabs, opts, fmt)
36:       end

[Validate]