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