class ActionDispatch::Routing::Mapper
	def nested_resources( modulo, recurso, param, opcoes={} )
		colecao = opcoes[:colecao] || recurso
		Rails.application.routes.draw do
			default_url_options :host => "localhost:3000"
			namespace modulo do
				resources recurso, except: [:index, :new, :create] + opcoes[:except].to_a
				get "#{param}/#{recurso}", to: "#{recurso}#index", as: colecao unless opcoes[:except].to_a.include?(:index)
				post "#{param}/#{recurso}", to: "#{recurso}#create" unless opcoes[:except].to_a.include?(:create)
			end
			get "#{modulo}/#{param}/#{recurso}/new", to: "#{modulo}/#{recurso}#new", as: "new_#{modulo}_#{recurso.to_s.singularize}" unless opcoes[:except].to_a.include?(:new)
		end
	end

	def nested_subresources(recurso, param, opcoes={})
		colecao = opcoes[:colecao] || recurso
		resources recurso, except: [:index, :new, :create] + opcoes[:except].to_a
		get "#{recurso}", to: "#{recurso}#index", as: colecao unless opcoes[:except].to_a.include?(:index)
		post "#{param}/#{recurso}", to: "#{recurso}#create", as: "create_#{recurso.to_s.singularize}"
		get "#{param}/#{recurso}/new", to: "#{recurso}#new", as: "new_#{recurso.to_s.singularize}"
	end
end
