class Groonga::Client::CommandLine::GroongaClientIndexCheck

Public Class Methods

new() click to toggle source
# File lib/groonga/client/command-line/groonga-client-index-check.rb, line 26
def initialize
  @available_methods = [:source, :content]
  @methods = []
end

Public Instance Methods

run(arguments) click to toggle source
# File lib/groonga/client/command-line/groonga-client-index-check.rb, line 31
def run(arguments)
  parser = Parser.new
  target_names = parser.parse(arguments) do |option_parser|
    parse_command_line(option_parser)
  end

  if @methods.empty?
    @methods = @available_methods
  end

  parser.open_client do |client|
    checker = Checker.new(client, @methods, target_names)
    checker.run
  end
end

Private Instance Methods

parse_command_line(parser) click to toggle source
# File lib/groonga/client/command-line/groonga-client-index-check.rb, line 48
def parse_command_line(parser)
  parser.banner += " [LEXICON1.INDEX1 LEXICON2.INDEX2 LEXICON3 ...]"

  parser.separator("")
  parser.separator("If no indexes are specified, " +
                   "all indexes are checked.")

  parser.separator("")
  parser.separator("Method:")

  parser.on("--method=METHOD", @available_methods,
            "Specify a method how to check indexes.",
            "You can specify this option multiple times",
            "to use multiple methods in one execution.",
            "All methods are used by default.",
            "Available methods:",
            "  source: Find indexes that don't have source.",
            "  content: Find indexes whose content is broken.",
            "(#{@available_methods.join(", ")})") do |method|
    @methods << method
  end
end