class Backup::Credentials

Public Class Methods

new() click to toggle source
# File lib/backup-agent/credentials.rb, line 8
def initialize
  @groups = {}
end

Public Instance Methods

[](pair) click to toggle source

Usage: credentials(type: :name)

# File lib/backup-agent/credentials.rb, line 13
def [](pair)
  @groups.fetch(pair.keys[0]).fetch(pair.values[0])
end
amazon_s3(definitions) click to toggle source
# File lib/backup-agent/credentials.rb, line 30
def amazon_s3(definitions)
  definitions.map do |name, args|
    define Backup::Storages::AmazonS3::Credentials => [:amazon_s3, name, *[args].flatten(1)]
  end.flatten(1)
end
define(definitions) click to toggle source

define Class => [:type, :name, arguments…]

# File lib/backup-agent/credentials.rb, line 18
def define(definitions)
  definitions.map do |klass, definition|
    (@groups[definition[0]] ||= {})[definition[1]] = klass.new(*definition.drop(2))
  end
end
mysql(definitions) click to toggle source
# File lib/backup-agent/credentials.rb, line 24
def mysql(definitions)
  definitions.map do |name, args|
    define Backup::Tasks::MySQL::Credentials => [:mysql, name, *[args].flatten(1)]
  end.flatten(1)
end