class Groonga::Command::Format::Command

Public Class Methods

escape_value(value) click to toggle source
# File lib/groonga/command/format/command.rb, line 24
def escape_value(value)
  escaped_value = value.gsub(/[\n"\\]/) do
    special_character = $MATCH
    case special_character
    when "\n"
      "\\n"
    else
      "\\#{special_character}"
    end
  end
  "\"#{escaped_value}\""
end
new(name, arguments) click to toggle source
# File lib/groonga/command/format/command.rb, line 38
def initialize(name, arguments)
  @name = name
  @arguments = arguments
end

Public Instance Methods

command_line(options={}) click to toggle source
# File lib/groonga/command/format/command.rb, line 43
def command_line(options={})
  pretty_print = options[:pretty_print]
  components = [@name]
  sorted_arguments = @arguments.sort_by do |name, _|
    name.to_s
  end
  sorted_arguments.each do |name, value|
    components << "--#{name} #{self.class.escape_value(value)}"
  end
  if pretty_print
    components.join(" \\\n  ")
  else
    components.join(" ")
  end
end