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 = self.args.map {|a| a.perform(environment)} ruby_name = name.gsub('-', '_') unless Haml::Util.has?(:public_instance_method, Functions, ruby_name) && ruby_name !~ /^__/ return Script::String.new("#{name}(#{args.map {|a| a.perform(environment)}.join(', ')})") end result = Functions::EvaluationContext.new(environment.options).send(ruby_name, *args) result.options = environment.options return result 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