class Muck::Config

Attributes

defaults[R]
servers[R]

Public Class Methods

new(directory) click to toggle source
# File lib/muck/config.rb, line 7
def initialize(directory)
  @directory = directory
  @defaults = {}
  @servers = []
  parse
end

Public Instance Methods

run(options = {}) click to toggle source
# File lib/muck/config.rb, line 17
def run(options = {})
  servers.each do |server|
    server.databases.each do |database|
      if database.backup_now? || options[:force]
        database.backup
        database.archive_all
      end
    end
  end
end

Private Instance Methods

parse() click to toggle source
# File lib/muck/config.rb, line 30
def parse
  unless File.directory?(@directory)
    raise Muck::Error, "#{@directory} is not a directory"
  end

  root_dsl = ConfigDSL::RootDSL.new(self)
  files = Dir[File.join(@directory, "**", "*.rb")]
  files.each do |file|
    root_dsl.instance_eval(File.read(file), file)
  end
end