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