class GroongaSynonym::GroongaGenerator
Public Class Methods
new(source, term_column, synonyms_column, synonyms_column_is_vector: true, output: $stdout)
click to toggle source
# File lib/groonga-synonym/groonga-generator.rb, line 20 def initialize(source, term_column, synonyms_column, synonyms_column_is_vector: true, output: $stdout) @source = source @term_column = term_column @synonyms_column = synonyms_column @synonyms_column_is_vector = synonyms_column_is_vector @output = output end
Public Instance Methods
generate()
click to toggle source
# File lib/groonga-synonym/groonga-generator.rb, line 32 def generate @output.print("[\n") @output.print([@term_column, @synonyms_column].to_json) @source.each do |term, synonyms| @output.print(",\n") record = [term] formatted_synonyms = synonyms.collect do |synonym| formatted_synonym = synonym.to_groonga unless @synonyms_column_is_vector formatted_synonym = "(#{formatted_synonym})" end formatted_synonym end if @synonyms_column_is_vector record << formatted_synonyms else record << formatted_synonyms.join(" OR ") end @output.print(record.to_json) end @output.print("\n]\n") end