lib/webtranslateit/safe/config/builder.rb in webtranslateit-safe-0.4.0 vs lib/webtranslateit/safe/config/builder.rb in webtranslateit-safe-0.4.1
- old
+ new
@@ -1,21 +1,17 @@
module WebTranslateIt
-
module Safe
-
module Config
-
class Builder
def initialize(node, data = {})
@node = node
- data.each { |k, v| send k, v }
+ data.each { |k, v| self.send k, v }
end
class << self
-
def simple_value(*names)
names.each do |m|
define_method(m) do |value|
ensure_uniq(m)
@node.set m, value
@@ -42,11 +38,11 @@
end
end
def mixed_value(*names)
names.each do |m|
- define_method(m) do |data = {}, &block|
+ define_method(m) do |data={}, &block|
ensure_uniq(m)
if data.is_a?(Hash) || block
ensure_hash(m, data) if block
@node.set m, Node.new(@node, data, &block)
else
@@ -56,30 +52,28 @@
end
end
def collection(*names)
names.each do |m|
- define_method(m) do |id, data = {}, &block|
+ define_method(m) do |id, data={}, &block|
raise "bad collection id: #{id.inspect}" unless id
-
ensure_hash(m, data)
name = "#{m}s"
collection = @node.get(name) || @node.set(name, Node.new(@node, {}))
collection.set id, Node.new(collection, data, &block)
end
end
end
-
end
simple_value :verbose, :dry_run, :local_only, :path, :command,
- :options, :user, :host, :port, :password, :key, :secret, :bucket,
- :api_key, :container, :socket, :service_net, :repo_path
+ :options, :user, :host, :port, :password, :key, :secret, :bucket,
+ :api_key, :container, :socket, :service_net, :repo_path
multi_value :skip_tables, :exclude, :files
hash_value :mysqldump, :tar, :gpg, :keep, :pgdump, :tar, :svndump,
- :sftp, :ftp, :mongodump
+ :sftp, :ftp, :mongodump
mixed_value :s3, :local, :cloudfiles
collection :database, :archive, :repo
private
@@ -88,13 +82,9 @@
end
def ensure_hash(k, v)
raise "#{k}: hash expected: #{v.inspect}" unless v.is_a?(Hash)
end
-
end
-
end
-
end
-
end