class Sass::Script::Funcall
def _perform(environment)
-
(Sass::SyntaxError)- if the function call raises an ArgumentError
Returns:
-
(Literal)- The SassScript object that is the value of the function call
Parameters:
-
environment(Sass::Environment) -- The environment in which to evaluate the SassScript
def _perform(environment) args = @args.map {|a| a.perform(environment)} if fn = environment.function(@name) keywords = Sass::Util.map_hash(@keywords) {|k, v| [k, v.perform(environment)]} return perform_sass_fn(fn, args, keywords) end ruby_name = @name.tr('-', '_') args = construct_ruby_args(ruby_name, args, environment) unless Functions.callable?(ruby_name) opts(to_literal(args)) else opts(Functions::EvaluationContext.new(environment.options).send(ruby_name, *args)) end rescue ArgumentError => e raise e unless e.backtrace.any? {|t| t =~ /:in `(block in )?(#{name}|perform)'$/} raise Sass::SyntaxError.new("#{e.message} for `#{name}'") end