lib/railroad/rails_framework.rb in royw-railroad_xing-0.5.0.2 vs lib/railroad/rails_framework.rb in royw-railroad_xing-0.5.1
- old
+ new
@@ -26,10 +26,16 @@
files.uniq
end
# Extract class name from filename
def extract_class_name(filename)
- class_name = File.basename(filename).chomp(".rb").camelize
+ # handle subdirectories as modules
+ # i.e., app/controllers/foo/bar.rb => Foo::Bar
+ if filename =~ /^app\/controllers\/(.*)\.rb$/
+ class_name = $1.split('/').collect {|part| part.camel_case}.join('::')
+ else
+ class_name = File.basename(filename).chomp(".rb").camel_case
+ end
if filename == 'app/controllers/application.rb'
# ApplicationController's file is 'application.rb'
class_name += 'Controller' if class_name == 'Application'
end