[Groonga-commit] droonga/droonga-client-ruby at 6e216e4 [master] Fixup some fields before a message is sent

Back to archive index

YUKI Hiroshi yuki****@clear*****
Thu Jan 15 14:50:14 JST 2015


色々ボケてたので直しました。。。

perfectorは、最初はfixerとかcompleterとかを思いついたんですが、fixerだと
犯罪者的な意味っぽかったので、仕上げをする人という意味の単語(および、仕
上げるという他動詞)のperfector(perfect)にした次第です。

Kouhei Sutou wrote:
>> +      def date
>> +        @date ||= Time.now.iso8601
>> +      end
> 
> 代入しないほうがいいんじゃないですかねぇ。
> これは「最初に使った時の今の時間」ですけど、
> いつでも「今の時刻」の方がよくないですか?
> 
> それはそれとして、perfectorとはすごい名前にしましたねぇ。
> 
> 
> In <6e216e4c67faa9e865dffc4fd586ab8ca31bbd8b �� jenkins.clear-code.com>
>    "[Groonga-commit] droonga/droonga-client-ruby �� 6e216e4 [master] Fixup some fields before a message is sent" on Thu, 15 Jan 2015 14:32:12 +0900,
>    YUKI Hiroshi <null+groonga �� clear-code.com> wrote:
> 
>> 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
> 
> _______________________________________________
> Groonga-commit mailing list
> Groonga-commit �� lists.sourceforge.jp
> http://lists.sourceforge.jp/mailman/listinfo/groonga-commit
> 

-- 
結城 洋志 <YUKI Hiroshi>
E-mail: yuki �� clear-code.com

株式会社クリアコード
〒170-0005 東京都豊島区南大塚3-29-9
           中野ビル3階
TEL : 03-5927-9440
FAX : 03-5927-9441
WWW : http://www.clear-code.com/




More information about the Groonga-commit mailing list
Back to archive index