YUKI Hiroshi
null+****@clear*****
Thu Jan 15 14:47:14 JST 2015
YUKI Hiroshi 2015-01-15 14:47:14 +0900 (Thu, 15 Jan 2015) New Revision: d89e2490fc8db8728e85d366df509106bcd8ed7c https://github.com/droonga/droonga-client-ruby/commit/d89e2490fc8db8728e85d366df509106bcd8ed7c Message: Validate and perfect messages by Droonga::Client Modified files: bin/droonga-request bin/droonga-send lib/droonga/client.rb lib/droonga/client/message_perfector.rb Modified: bin/droonga-request (+1 -8) =================================================================== --- bin/droonga-request 2015-01-15 14:35:42 +0900 (c0fe169) +++ bin/droonga-request 2015-01-15 14:47:14 +0900 (0c30185) @@ -1,6 +1,6 @@ #!/usr/bin/env ruby # -# Copyright (C) 2014-2015 Droonga Project +# Copyright (C) 2014 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,8 +20,6 @@ require "yajl" require "json" require "droonga/client" -require "droonga/client/message_perfector" -require "droonga/client/message_validator" options = { :host => "localhost", @@ -101,9 +99,6 @@ parser.on("--[no-]report-elapsed-time", end request_json_files = parser.parse!(ARGV) -perfector = Droonga::Client::MessagePerfector.new -validator = Droonga::Client::MessageValidator.new - client = Droonga::Client.new(options) json_parser = Yajl::Parser.new json_parser.on_parse_complete = lambda do |request_message| @@ -117,8 +112,6 @@ json_parser.on_parse_complete = lambda do |request_message| message << "\n" print(message) end - request_message = perfector.perfect(request_message) - validator.validate(request_message) start = Time.now request = client.request(request_message) do |response| message = "" Modified: bin/droonga-send (+0 -7) =================================================================== --- bin/droonga-send 2015-01-15 14:35:42 +0900 (0dc032f) +++ bin/droonga-send 2015-01-15 14:47:14 +0900 (0442383) @@ -21,8 +21,6 @@ require "yajl" require "json" require "droonga/client" -require "droonga/client/message_perfector" -require "droonga/client/message_validator" options = OpenStruct.new options.report_request = false @@ -35,9 +33,6 @@ servers = [] default_server = "droonga:localhost:10031/droonga" messages_per_second = Droonga::Client::RateLimiter::DEFAULT_LIMIT -perfector = Droonga::Client::MessagePerfector.new -validator = Droonga::Client::MessageValidator.new - def parse_server(server, options) server_matcher = /\A(?:(droonga|http):)?([^:]+)(?::([0-9]+))?(?:\/(.+))?\z/ server =~ server_matcher @@ -172,8 +167,6 @@ json_parser.on_parse_complete = lambda do |request_message| message << "\n" print(message) end - request_message = perfector.perfect(request_message) - validator.validate(request_message) client = clients[client_index] client.send(request_message) client_index = (client_index + 1) % clients.size Modified: lib/droonga/client.rb (+10 -15) =================================================================== --- lib/droonga/client.rb 2015-01-15 14:35:42 +0900 (0d7c894) +++ lib/droonga/client.rb 2015-01-15 14:47:14 +0900 (70811df) @@ -20,6 +20,8 @@ require "droonga/client/error" require "droonga/client/connection/http" require "droonga/client/connection/droonga-protocol" require "droonga/client/rate-limiter" +require "droonga/client/message_perfector" +require "droonga/client/message_validator" module Droonga class Client @@ -62,28 +64,25 @@ module Droonga # from Droonga Engine. def initialize(options={}) @connection = create_connection(options) + @perfector = MessagePerfector.new + @validator = MessageValidator.new end def send(message, options={}, &block) - if message["id"].nil? or message["date"].nil? - id = message["id"] || generate_id - date = message["date"] || Time.now - message = message.merge("id" => id, "date" => date) - end + message =****@perfe*****(message) + @validator.validate(message) @connection.send(message, options, &block) end def request(message, options={}, &block) - if message["id"].nil? - message = message.merge("id" => generate_id) - end + message =****@perfe*****(message) + @validator.validate(message) @connection.request(message, options, &block) end def subscribe(message, options={}, &block) - if message["id"].nil? - message = message.merge("id" => generate_id) - end + message =****@perfe*****(message) + @validator.validate(message) @connection.subscribe(message, options, &block) end @@ -104,9 +103,5 @@ module Droonga Connection::DroongaProtocol.new(options) end end - - def generate_id - Time.now.to_f.to_s - end end end Modified: lib/droonga/client/message_perfector.rb (+6 -6) =================================================================== --- lib/droonga/client/message_perfector.rb 2015-01-15 14:35:42 +0900 (feed6d1) +++ lib/droonga/client/message_perfector.rb 2015-01-15 14:47:14 +0900 (3204964) @@ -26,18 +26,18 @@ module Droonga end def perfect(message) - message["id"] ||= generate_id - message["date"] ||= date - message + id = message["id"] || generate_id + date = message["date"] || @date || new_date + message.merge("id" => id, "date" => date) end private def generate_id - "#{Time.now} / #{Random.rand}" + Time.now.to_f.to_s end - def date - @date ||= Time.now.iso8601 + def new_date + Time.now.iso8601 end end end -------------- next part -------------- HTML����������������������������...Download