class Droonga::Client::MessageCompleter

Constants

MICRO_SECONDS_DECIMAL_PLACE

Public Class Methods

new(options={}) click to toggle source
# File lib/droonga/client/message_completer.rb, line 22
def initialize(options={})
  @options = options
  @fixed_date = @options[:fixed_date]
  @default_dataset = @options[:default_dataset]
  @default_timeout = @options[:default_timeout]
  @default_target_role = @options[:default_target_role]
end

Public Instance Methods

complete(message) click to toggle source
# File lib/droonga/client/message_completer.rb, line 30
def complete(message)
  id   = message["id"] || generate_id
  date = message["date"] || @fixed_date || new_date
  dataset = message["dataset"] || @default_dataset
  if not have_timeout?(message) and @default_timeout
    message["timeout"] = @default_timeout
  end
  if not message["targetRole"].nil? and @default_target_role
    message["targetRole"] = @default_target_role
  end
  message.merge("id"      => id,
                "date"    => date,
                "dataset" => dataset)
end

Private Instance Methods

generate_id() click to toggle source
# File lib/droonga/client/message_completer.rb, line 46
def generate_id
  Time.now.to_f.to_s
end
have_timeout?(message) click to toggle source
# File lib/droonga/client/message_completer.rb, line 56
def have_timeout?(message)
  return true if message["timeout"]
  return false unless message["body"].is_a?(Hash)
  not message["body"]["timeout"].nil?
end
new_date() click to toggle source
# File lib/droonga/client/message_completer.rb, line 52
def new_date
  Time.now.utc.iso8601(MICRO_SECONDS_DECIMAL_PLACE)
end