Skip to content

Instantly share code, notes, and snippets.

@mfussenegger
Created April 10, 2014 08:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mfussenegger/10354959 to your computer and use it in GitHub Desktop.
Save mfussenegger/10354959 to your computer and use it in GitHub Desktop.
require 'java'
java_package 'java.util'
java_package 'io.crate'
java_package 'io.crate.udf'
java_package 'io.crate.metadata'
java_import 'io.crate.udf.UserDefinedScalarFunction'
java_import 'io.crate.metadata.FunctionIdent'
java_import 'io.crate.metadata.FunctionInfo'
java_import 'io.crate.DataType'
java_import 'java.util.Arrays'
class RubyMathMin
include UserDefinedScalarFunction
def name
'ruby_math_min'
end
def ident
FunctionIdent.new(name, Arrays.asList(DataType::LONG, DataType::LONG))
end
def info
FunctionInfo.new(ident, DataType::LONG)
end
def dynamicFunctionResolver
end
def normalizeSymbol(symbol)
symbol
end
def evaluate(args)
args.map(&:value).min
end
end
$RubyMathMin = RubyMathMin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment