aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2011-07-10 08:35:06 -0300
committerJosé Valim <jose.valim@gmail.com>2011-07-10 08:36:08 -0300
commit60076de1d416a68dc52804041f3c8586578acbd9 (patch)
treeec322b35627147c6d07e979846e11617231a4a22 /railties/lib
parent3a611cb207ae69ae2053fc165a2f88e5ad1735b3 (diff)
downloadrails-60076de1d416a68dc52804041f3c8586578acbd9.tar.gz
rails-60076de1d416a68dc52804041f3c8586578acbd9.tar.bz2
rails-60076de1d416a68dc52804041f3c8586578acbd9.zip
Make Rails.groups accept arrays.
Diffstat (limited to 'railties/lib')
-rw-r--r--railties/lib/rails.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/railties/lib/rails.rb b/railties/lib/rails.rb
index df92934457..603ede3d1e 100644
--- a/railties/lib/rails.rb
+++ b/railties/lib/rails.rb
@@ -4,6 +4,7 @@ require 'pathname'
require 'active_support'
require 'active_support/core_ext/kernel/reporting'
+require 'active_support/core_ext/array/extract_options'
require 'active_support/core_ext/logger'
require 'rails/application'
@@ -91,7 +92,7 @@ module Rails
#
# * The Rails environment;
# * The environment variable RAILS_GROUPS;
- # * The optional hash given as argument with group dependencies;
+ # * The optional envs given as argument and the hash with group dependencies;
#
# == Examples
#
@@ -101,12 +102,14 @@ module Rails
# # => [:default, :development, :assets] for Rails.env == "development"
# # => [:default, :production] for Rails.env == "production"
#
- def groups(hash={})
+ def groups(*groups)
+ hash = groups.extract_options!
env = Rails.env
- groups = [:default, env]
+ groups.unshift(:default, env)
groups.concat ENV["RAILS_GROUPS"].to_s.split(",")
groups.concat hash.map { |k,v| k if v.map(&:to_s).include?(env) }
groups.compact!
+ groups.uniq!
groups
end