module ActionController::Resources

  def resources_with_alias(*args, &block)
    name = args.first
    options = args.last || {}
    name_alias = options.delete(:alias)
    resources_without_alias(*args, &block)
    if name_alias
      resources_without_alias(name_alias, options.merge(:controller => "#{options[:namespace]}#{name}", :as => name))
    end
  end

  alias_method_chain :resources, :alias

  def resource_with_alias(*args, &block)
    name = args.first
    options = args.last || {}
    name_alias = options.delete(:alias)
    resource_without_alias(*args, &block)
    if name_alias
      resource_without_alias(name, options.merge(:controller => "#{options[:namespace]}#{name}", :as => name))
    end
  end

  alias_method_chain :resource, :alias

end