class Mondrian::OLAP::Schema::UserDefinedFunction

Public Instance Methods

ruby(*options, &block) click to toggle source
# File lib/mondrian/olap/schema_udf.rb, line 194
def ruby(*options, &block)
  udf_class_name = if options.include?(:shared)
    "#{name.capitalize}Udf"
  end
  if udf_class_name && self.class.const_defined?(udf_class_name)
    udf_class = self.class.const_get(udf_class_name)
  else
    udf_class = Class.new(RubyUdfBase)
    self.class.const_set(udf_class_name, udf_class) if udf_class_name
  end
  udf_class.function_name = name
  udf_class.class_eval(&block)
  udf_java_class = udf_class.become_java!(false)

  class_name udf_java_class.getName
end