class ServerSettings::RoleDB
Public Instance Methods
build_db(name, config, group = nil)
click to toggle source
# File lib/server_settings/role_db.rb, line 10 def build_db(name, config, group = nil) db = Database.new(name, group) db.master = config[:master] db.backup = config[:backup] db.slaves = config[:slaves] db.settings = config_params(config) return db end
config_params(config)
click to toggle source
# File lib/server_settings/role_db.rb, line 50 def config_params(config) exclude_settings = [ :master, :backup, :slaves ] config_keys = config.keys.select do |s| s.is_a?(Symbol) and not exclude_settings.include?(s) end Hash[*config_keys.map {|s| [s, config[s]] }.flatten] end
databases()
click to toggle source
# File lib/server_settings/role_db.rb, line 6 def databases @config.keys.select { |a| a.kind_of?(String) } end
each() { |default_db| ... }
click to toggle source
# File lib/server_settings/role_db.rb, line 23 def each default_db = build_db("default", @config) yield default_db databases.each do |db_name| config = @config[db_name] if config && config.has_key?(:master) db = build_db(db_name, config) db.settings = default_db.settings.merge(db.settings) yield db else # this is group section group_name = db_name config.map do |nest_db_name, nest_config| db = build_db(nest_db_name, nest_config, group_name) db.settings = default_db.settings.merge(db.settings) yield db end end end end
find(db_name)
click to toggle source
# File lib/server_settings/role_db.rb, line 19 def find(db_name) select { |s| s.name == db_name }.first end
hosts()
click to toggle source
# File lib/server_settings/role_db.rb, line 46 def hosts find_all end