YUKI Hiroshi
null+****@clear*****
Tue Apr 21 12:13:56 JST 2015
YUKI Hiroshi 2015-04-21 12:13:56 +0900 (Tue, 21 Apr 2015) New Revision: 94acb8b2d09acf9f721279b13fe2a5397e129d09 https://github.com/droonga/droonga-engine/commit/94acb8b2d09acf9f721279b13fe2a5397e129d09 Message: Remove obsolete NodeMetadata module Removed files: lib/droonga/node_metadata.rb Modified files: lib/droonga/path.rb Deleted: lib/droonga/node_metadata.rb (+0 -117) 100644 =================================================================== --- lib/droonga/node_metadata.rb 2015-04-21 12:12:41 +0900 (9547b48) +++ /dev/null @@ -1,117 +0,0 @@ -# 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 -# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -require "json" - -require "droonga/path" -require "droonga/safe_file_writer" - -module Droonga - class NodeMetadata - module Role - SERVICE_PROVIDER = "service-provider" - ABSORB_SOURCE = "absorb-source" - ABSORB_DESTINATION = "absorb-destination" - - ROLES = [ - SERVICE_PROVIDER, - ABSORB_SOURCE, - ABSORB_DESTINATION, - ] - - module_function - def valid?(role) - ROLES.include?(role) - end - end - - def initialize - reload - end - - def have?(key) - key = normalize_key(key) - @metadata.include?(key) - end - - def get(key) - key = normalize_key(key) - @metadata[key] - end - - def set(key, value) - key = normalize_key(key) - @metadata[key] = value - SafeFileWriter.write(metadata_file, JSON.pretty_generate(@metadata)) - end - - def delete(key) - key = normalize_key(key) - @metadata.delete(key) - SafeFileWriter.write(metadata_file, JSON.pretty_generate(@metadata)) - end - - def role - normalize_role(get(:role)) - end - - def role=(new_role) - set(:role, normalize_role(new_role)) - end - - def reload - @metadata = load - end - - def start_observe(loop) - return if @file_observer - @file_observer = FileObserver.new(loop, metadata_file) - @file_observer.on_change = lambda do - reload - end - @file_observer.start - end - - def stop_observe - return unless @file_observer - @file_observer.stop - @file_observer = nil - end - - private - def normalize_key(key) - key.to_sym - end - - def normalize_role(role) - role = Role::SERVICE_PROVIDER unless Role.valid?(role) - role - end - - def metadata_file - @metadata_file ||= Path.node_metadata - end - - def load - if metadata_file.exist? - contents = metadata_file.read - unless contents.empty? - return JSON.parse(contents, :symbolize_names => true) - end - end - {} - end - end -end Modified: lib/droonga/path.rb (+0 -4) =================================================================== --- lib/droonga/path.rb 2015-04-21 12:12:41 +0900 (e168956) +++ lib/droonga/path.rb 2015-04-21 12:13:56 +0900 (e245d7d) @@ -44,10 +44,6 @@ module Droonga base + "state" end - def node_metadata - state + "metadata.json" - end - def cluster_state state + "cluster-state.json" end -------------- next part -------------- HTML����������������������������...Download