lib/odania/plugin.rb in odania-0.0.16 vs lib/odania/plugin.rb in odania-0.0.17

- old
+ new

@@ -1,28 +1,27 @@ -require_relative 'plugin_config/plugin_config' - module Odania class Plugin INSTANCE_FILES_PATH = '/tmp/plugin_instance_name_' def initialize(consul) @consul = consul - @plugin_config = PluginConfig::Base.new + @plugin_config = Config::GlobalConfig.new end def register(plugin_instance_name, plugin_config) - plugin_name = plugin_config['name'] + plugin_name = plugin_config['plugin-config']['name'] # Write configuration of the plugin @consul.config.set(get_plugin_config_path_for(plugin_name), plugin_config) # Register service - consul_config = @consul.service.build_config(plugin_name, plugin_instance_name, plugin_config['ip'], plugin_config['tags'], plugin_config['port']) + consul_config = @consul.service.build_config(plugin_name, plugin_instance_name, plugin_config['plugin-config']['ip'], plugin_config['plugin-config']['tags'], plugin_config['plugin-config']['port']) @consul.service.register(consul_config) # Fire event @consul.event.fire 'service-registered', "#{plugin_name}|#{plugin_instance_name}" + "#{plugin_name}|#{plugin_instance_name}" end def deregister(plugin_instance_name) @consul.service.deregister(plugin_instance_name) end @@ -57,9 +56,17 @@ @consul.config.set get_global_plugin_config_path, config end def get_global_config @consul.config.get get_global_plugin_config_path + end + + def get_domain_config_for(domain, global_config=nil) + global_config = get_global_config if global_config.nil? + + domain_info = PublicSuffix.parse(domain) + return global_config['domains'][domain_info.domain], domain unless global_config['domains'][domain_info.domain].nil? + return false, nil end def health @consul.health end