lib/railroad/merb_framework.rb in royw-railroad_xing-0.5.0.2 vs lib/railroad/merb_framework.rb in royw-railroad_xing-0.5.1
- old
+ new
@@ -35,10 +35,17 @@
files.uniq
end
# Extract class name from filename
def extract_class_name(filename)
- File.basename(filename).chomp(".rb").camel_case
+ # 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
+ class_name
end
# convert the give string to a constant
def constantize(str)
Object.full_const_get(str)