Sha256: 96d779e52850f54eab8734a5031db1ab31f1fbbddd53692a1125a57fc6762dc4
Contents?: true
Size: 1.14 KB
Versions: 12
Compression:
Stored size: 1.14 KB
Contents
module Groonga module ExpressionRewriters @rewriters = {} class << self def register(name, rewriter_class) @rewriters[name] = rewriter_class end def enabled? rewriters_table_name = Config["expression_rewriter.table"] || "expression_rewriters" rewriters_table = Context.instance[rewriters_table_name] return false if rewriters_table.nil? return false if rewriters_table.empty? true end def classes rewriters_table_name = Config["expression_rewriter.table"] || "expression_rewriters" rewriters_table = Context.instance[rewriters_table_name] return [] if rewriters_table.nil? rewriters_table.collect do |id| record = Record.new(rewriters_table, id) name = record.key rewriter = @rewriters[name] if rewriter.nil? plugin_name = record.plugin_name.value require plugin_name rewriter = @rewriters[name] raise "unknown rewriter: <#{name}>:<#{plugin_name}>" if rewriter.nil? end rewriter end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems