Class: Markdownplus::Literals::FunctionLiteral
Instance Method Summary
collapse
#_functions, #functions, #parens, #symbols
Instance Method Details
#execute(input, variables, warnings, errors) ⇒ Object
45
46
47
48
49
50
51
52
53
|
# File 'lib/markdownplus/literals.rb', line 45
def execute(input, variables, warnings, errors)
handler = HandlerRegistry.handler_instance(self.function_name)
if handler
output = handler.execute(input, self.function_parameter_values(nil, variables, warnings, errors), variables, warnings, errors)
else
errors << "No handler defined for [#{self.function_name}]"
end
output
end
|
#function_name ⇒ Object
33
34
35
|
# File 'lib/markdownplus/literals.rb', line 33
def function_name
self.symbols[0].text_value.strip
end
|
#function_parameter_values(input, variables, warnings, errors) ⇒ Object
41
42
43
|
# File 'lib/markdownplus/literals.rb', line 41
def function_parameter_values(input, variables, warnings, errors)
self.parens.first.function_parameters.collect { |fp| fp.value(input, variables, warnings, errors) }
end
|
#function_parameters ⇒ Object
37
38
39
|
# File 'lib/markdownplus/literals.rb', line 37
def function_parameters
self.parens.first.function_parameters
end
|
#value(input, variables, warnings, errors) ⇒ Object
55
56
57
|
# File 'lib/markdownplus/literals.rb', line 55
def value(input, variables, warnings, errors)
execute(input, variables, warnings, errors)
end
|