class PIM::MappingFunction

Constants

PARAM_TYPES

Public Class Methods

new(*args) click to toggle source
Calls superclass method PIM::BuildingObject::new
# File pim.rb, line 10144
def initialize *args
  super
  check_non_empty :name
end

Public Instance Methods

convert_param_values(param_values)
convert_parameter_values(param_values) click to toggle source
# File pim.rb, line 10149
def convert_parameter_values param_values
  converted_values = {}
  unless @parameters.nil?
    @parameters.each do |parameter|
      param_value = PIM.get_value(param_values, parameter.name)
      converted_values[parameter.name] = parameter.convert_value(param_value)
    end
  end
  converted_values
end
Also aliased as: convert_param_values
exec(context)
Alias for: execute
execute(context) click to toggle source
# File pim.rb, line 10173
def execute context
  begin
    result = @code.call(context)
    result = MappingFunctionUtil.convert_value(result, @type)
    return result
  rescue Exception => e
    PIM.log_error("Could not execute mapping function #{name}", e)
    return "[ERROR] '#{e.class}' in mapping function #{name}: #{e.message}"
  end
end
Also aliased as: exec
param(name)
Alias for: parameter
param_default(name)
Alias for: parameter_default
parameter(name) click to toggle source
# File pim.rb, line 10161
def parameter name
  name = PIM.to_sym(name)
  parameter = @parameters.find { |p| p.name == name }
end
Also aliased as: param
parameter_default(name) click to toggle source
# File pim.rb, line 10167
def parameter_default name
  parameter = parameter(name)
  return parameter.default_value if parameter
end
Also aliased as: param_default