[Groonga-commit] droonga/droonga-engine at 3f295f4 [master] Add --base-dir option

Zurück zum Archiv-Index

Kouhei Sutou null+****@clear*****
Mon May 26 16:53:14 JST 2014


Kouhei Sutou	2014-05-26 16:53:14 +0900 (Mon, 26 May 2014)

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

  Message:
    Add --base-dir option

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

  Modified: lib/droonga/command/droonga_engine.rb (+16 -1)
===================================================================
--- lib/droonga/command/droonga_engine.rb    2014-05-26 16:29:28 +0900 (cd1f8e3)
+++ lib/droonga/command/droonga_engine.rb    2014-05-26 16:53:14 +0900 (99dd550)
@@ -76,6 +76,7 @@ module Droonga
           add_connection_options(parser)
           add_log_options(parser)
           add_process_options(parser)
+          add_path_options(parser)
         end
 
         def listen_socket
@@ -137,6 +138,16 @@ module Droonga
           end
         end
 
+        def add_path_options(parser)
+          parser.separator("")
+          parser.separator("Path:")
+          parser.on("--base-dir=DIR",
+                    "Use DIR as the base directory",
+                    "(#{Droonga::Path.base})") do |dir|
+            Droonga::Path.base = dir
+          end
+        end
+
         def bind_heartbeat_socket
           socket = UDPSocket.new(address_family)
           socket.bind(@host, @port)
@@ -159,7 +170,7 @@ module Droonga
         def run(command_line_arguments)
           parse_command_line_arguments!(command_line_arguments)
 
-          ENV[Droonga::Path::BASE_DIR_ENV_NAME] ||= Dir.pwd
+          ensure_path
 
           if****@confi*****?
             Process.daemon
@@ -179,6 +190,10 @@ module Droonga
           parser.parse!(command_line_arguments)
         end
 
+        def ensure_path
+          Droonga::Path.base
+        end
+
         def run_service(loop)
           service_runner = ServiceRunner.new(loop, @configuration)
           service_runner.run

  Modified: lib/droonga/path.rb (+6 -1)
===================================================================
--- lib/droonga/path.rb    2014-05-26 16:29:28 +0900 (03b245e)
+++ lib/droonga/path.rb    2014-05-26 16:53:14 +0900 (4ef27c9)
@@ -21,7 +21,12 @@ module Droonga
 
     class << self
       def base
-        @base ||= Pathname.new(ENV[BASE_DIR_ENV_NAME] || Dir.pwd)
+        @base ||= Pathname.new(ENV[BASE_DIR_ENV_NAME] || Dir.pwd).expand_path
+      end
+
+      def base=(new_base)
+        @base = nil
+        ENV[BASE_DIR_ENV_NAME] = new_base
       end
 
       def state
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Zurück zum Archiv-Index