Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: 1fef1bedbc
Fetching contributors…

Cannot retrieve contributors at this time

51 lines (42 sloc) 1.298 kB
module Rails
module Generators
class ResourceRouteGenerator < NamedBase # :nodoc:
# Properly nests namespaces passed into a generator
#
# $ rails generate resource admin/users/products
#
# should give you
#
# namespace :admin do
# namespace :users
# resources :products
# end
# end
def add_resource_route
return if options[:actions].present?
# iterates over all namespaces and opens up blocks
regular_class_path.each_with_index do |namespace, index|
write("namespace :#{namespace} do", index + 1)
end
# inserts the primary resource
write("resources :#{file_name.pluralize}", route_length + 1)
# ends blocks
regular_class_path.each_index do |index|
write("end", route_length - index)
end
# route prepends two spaces onto the front of the string that is passed, this corrects that
route route_string[2..-1]
end
private
def route_string
@route_string ||= ""
end
def write(str, indent)
route_string << "#{" " * indent}#{str}\n"
end
def route_length
regular_class_path.length
end
end
end
end
Jump to Line
Something went wrong with that request. Please try again.