[Groonga-commit] droonga/droonga-engine at ecbf85a [master] Extract long code as small methods

Back to archive index

Kouhei Sutou null+****@clear*****
Mon Apr 21 15:56:03 JST 2014


Kouhei Sutou	2014-04-21 15:56:03 +0900 (Mon, 21 Apr 2014)

  New Revision: ecbf85adc194b3188557afa1609c19b3a6759d1a
  https://github.com/droonga/droonga-engine/commit/ecbf85adc194b3188557afa1609c19b3a6759d1a

  Message:
    Extract long code as small methods

  Modified files:
    lib/droonga/engine/command/droonga_engine.rb

  Modified: lib/droonga/engine/command/droonga_engine.rb (+33 -29)
===================================================================
--- lib/droonga/engine/command/droonga_engine.rb    2014-04-21 15:45:57 +0900 (42ed8bf)
+++ lib/droonga/engine/command/droonga_engine.rb    2014-04-21 15:56:03 +0900 (c6f7ac0)
@@ -105,35 +105,7 @@ module Droonga
         end
 
         def run_receiver(loop, engine)
-          receiver_options = {
-            :host => @host,
-            :port => @port,
-          }
-          on_message = lambda do |tag, time, record|
-            prefix, type, *arguments = tag.split(/\./)
-            if type.nil? or type.empty? or type == "message"
-              message = record
-            else
-              message = {
-                "type" => type,
-                "arguments" => arguments,
-                "body" => record
-              }
-            end
-            reply_to = message["replyTo"]
-            if reply_to.is_a? String
-              message["replyTo"] = {
-                "type" => "#{message["type"]}.result",
-                "to" => reply_to
-              }
-            end
-            message
-
-            engine.process(message)
-          end
-          receiver = FluentMessageReceiver.new(loop,
-                                               receiver_options,
-                                               &on_message)
+          receiver = create_receiver(loop, engine)
           begin
             receiver.start
             yield(receiver)
@@ -141,6 +113,38 @@ module Droonga
             receiver.shutdown
           end
         end
+
+        def create_receiver(loop, engine)
+          options = {
+            :host => @host,
+            :port => @port,
+          }
+          FluentMessageReceiver.new(loop, options) do |tag, time, record|
+            on_message(engine, tag, time, record)
+          end
+        end
+
+        def on_message(engine, tag, time, record)
+          prefix, type, *arguments = tag.split(/\./)
+          if type.nil? or type.empty? or type == "message"
+            message = record
+          else
+            message = {
+              "type" => type,
+              "arguments" => arguments,
+              "body" => record
+            }
+          end
+          reply_to = message["replyTo"]
+          if reply_to.is_a? String
+            message["replyTo"] = {
+              "type" => "#{message["type"]}.result",
+              "to" => reply_to
+            }
+          end
+
+          engine.process(message)
+        end
       end
     end
   end
-------------- next part --------------
HTML����������������������������...
Download 



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