YUKI Hiroshi
null+****@clear*****
Thu Jan 15 14:32:12 JST 2015
YUKI Hiroshi 2015-01-15 14:32:12 +0900 (Thu, 15 Jan 2015) New Revision: 6e216e4c67faa9e865dffc4fd586ab8ca31bbd8b https://github.com/droonga/droonga-client-ruby/commit/6e216e4c67faa9e865dffc4fd586ab8ca31bbd8b Message: Fixup some fields before a message is sent Added files: lib/droonga/client/message_perfector.rb Modified files: bin/droonga-request Modified: bin/droonga-request (+5 -1) =================================================================== --- bin/droonga-request 2014-11-29 02:17:06 +0900 (0c30185) +++ bin/droonga-request 2015-01-15 14:32:12 +0900 (f8a3134) @@ -1,6 +1,6 @@ #!/usr/bin/env ruby # -# Copyright (C) 2014 Droonga Project +# Copyright (C) 2014-2015 Droonga Project # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -20,6 +20,7 @@ require "yajl" require "json" require "droonga/client" +require "droonga/client/message_perfector" options = { :host => "localhost", @@ -99,6 +100,8 @@ parser.on("--[no-]report-elapsed-time", end request_json_files = parser.parse!(ARGV) +perfector = Droonga::Client::MessagePerfector.new + client = Droonga::Client.new(options) json_parser = Yajl::Parser.new json_parser.on_parse_complete = lambda do |request_message| @@ -112,6 +115,7 @@ json_parser.on_parse_complete = lambda do |request_message| message << "\n" print(message) end + request_message = perfector.perfect(request_message) start = Time.now request = client.request(request_message) do |response| message = "" Added: lib/droonga/client/message_perfector.rb (+44 -0) 100644 =================================================================== --- /dev/null +++ lib/droonga/client/message_perfector.rb 2015-01-15 14:32:12 +0900 (feed6d1) @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2015 Droonga Project +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License version 2.1 as published by the Free Software Foundation. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +require "time" + +module Droonga + class Client + class MessagePerfector + def initialize(options={}) + @options = options + @date ||= @options["date"] + end + + def perfect(message) + message["id"] ||= generate_id + message["date"] ||= date + message + end + + private + def generate_id + "#{Time.now} / #{Random.rand}" + end + + def date + @date ||= Time.now.iso8601 + end + end + end +end -------------- next part -------------- HTML����������������������������...Download