lib/gratan/dsl/context.rb in gratan-0.1.5 vs lib/gratan/dsl/context.rb in gratan-0.1.6
- old
+ new
@@ -29,29 +29,32 @@
else
Kernel.require(file)
end
end
- def user(name, host, options = {}, &block)
+ def user(name, host_or_array, options = {}, &block)
name = name.to_s
- host = host.to_s
- options ||= {}
+ hosts = [host_or_array].flatten.map {|i| i.to_s }
- __validate("User `#{name}@#{host}` is already defined") do
- not @result.has_key?([name, host])
- end
+ hosts.each do |host|
+ options ||= {}
- if @options[:enable_expired] and (expired = options.delete(:expired))
- expired = Time.parse(expired)
+ __validate("User `#{name}@#{host}` is already defined") do
+ not @result.has_key?([name, host])
+ end
- if Time.new >= expired
- log(:warn, "User `#{name}@#{host}` has expired", :color => :yellow)
- return
+ if @options[:enable_expired] and (expired = options.delete(:expired))
+ expired = Time.parse(expired)
+
+ if Time.new >= expired
+ log(:warn, "User `#{name}@#{host}` has expired", :color => :yellow)
+ return
+ end
end
- end
- @result[[name, host]] = {
- :objects => Gratan::DSL::Context::User.new(name, host, &block).result,
- :options => options,
- }
+ @result[[name, host]] = {
+ :objects => Gratan::DSL::Context::User.new(name, host, &block).result,
+ :options => options,
+ }
+ end
end
end