1# Licensed to the Apache Software Foundation (ASF) under one 2# or more contributor license agreements. See the NOTICE file 3# distributed with this work for additional information 4# regarding copyright ownership. The ASF licenses this file 5# to you under the Apache License, Version 2.0 (the 6# "License"); you may not use this file except in compliance 7# with the License. You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, 12# software distributed under the License is distributed on an 13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14# KIND, either express or implied. See the License for the 15# specific language governing permissions and limitations 16# under the License. 17 18module Gandiva 19 class Loader < GObjectIntrospection::Loader 20 class << self 21 def load 22 super("Gandiva", Gandiva) 23 end 24 end 25 26 private 27 def load_method_info(info, klass, method_name) 28 case klass.name 29 when "Gandiva::BooleanLiteralNode" 30 case method_name 31 when "value?" 32 method_name = "value" 33 end 34 super(info, klass, method_name) 35 else 36 super 37 end 38 end 39 40 def post_load(repository, namespace) 41 require_libraries 42 end 43 44 def require_libraries 45 require "gandiva/arrow-schema" 46 require "gandiva/expression-builder" 47 end 48 end 49end 50