class Groonga::Client::CommandLine::Runner
Public Class Methods
new(client)
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 21 def initialize(client) @client = client end
Public Instance Methods
run(&block)
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 25 def run(&block) catch do |tag| @abort_tag = tag run_internal(&block) end end
Private Instance Methods
abort_run(message)
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 33 def abort_run(message) $stderr.puts(message) throw(@abort_tag, false) end
column_create(table_name, name, flags, type, source)
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 66 def column_create(table_name, name, flags, type, source) execute_command(:column_create, :table => table_name, :name => name, :flags => flags, :type => type, :source => source).body end
column_create_similar(table_name, column_name, base_column_name)
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 75 def column_create_similar(table_name, column_name, base_column_name) if object_exist?(:schema) info = execute_command(:schema)["#{table_name}.#{base_column_name}"] arguments = info.command.arguments.merge("name" => column_name) # For workaround Groonga < 7.0.6 if arguments.key?("sources") arguments["source"] = arguments["sources"] end execute_command(:column_create, arguments).body else base_column = column_list(table_name).find do |column| column.name == base_column_name end range = base_column.range source_columns = base_column.sources.collect do |source| if source.include?(".") source.split(".", 2)[1] else "_key" end end flags = base_column.flags.dup flags.delete("PERSISTENT") column_create(table_name, column_name, flags.join("|"), range, source_columns.join(",")) end end
column_list(table)
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 62 def column_list(table) execute_command(:column_list, :table => table) end
column_remove(table, column)
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 106 def column_remove(table, column) execute_command(:column_remove, :table => table, :name => column).body end
column_rename(table, name, new_name)
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 112 def column_rename(table, name, new_name) execute_command(:column_rename, :table => table, :name => name, :new_name => new_name).body end
config_get(key)
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 46 def config_get(key) execute_command(:config_get, :key => key).body end
config_set(key, value)
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 50 def config_set(key, value) execute_command(:config_set, :key => key, :value => value).body end
execute_command(name, arguments={})
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 38 def execute_command(name, arguments={}) response = @client.execute(name, arguments) unless response.success? abort_run("Failed to run #{name}: #{response.inspect}") end response end
object_exist?(name)
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 54 def object_exist?(name) execute_command(:object_exist, :name => name).body end
select(table, arguments={})
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 119 def select(table, arguments={}) execute_command(:select, arguments.merge(:table => table)) end
table_list()
click to toggle source
# File lib/groonga/client/command-line/runner.rb, line 58 def table_list execute_command(:table_list) end