lib/rails/generators/joosy/page_generator.rb in joosy-0.1.0.alpha vs lib/rails/generators/joosy/page_generator.rb in joosy-1.0.0.RC1

- old
+ new

@@ -6,24 +6,39 @@ source_root File.join(File.dirname(__FILE__), 'templates') def create_files super - empty_directory "#{app_path}/pages" - template "app/pages/template.js.coffee", "#{app_path}/pages/#{layout_name}/#{file_name}.js.coffee" + empty_directory "#{app_path}/pages/#{namespace_path}" + template "app/pages/template.js.coffee", "#{app_path}/pages/#{namespace_path}/#{file_name}.js.coffee" - empty_directory "#{app_path}/templates/pages/#{layout_name}" - create_file "#{app_path}/templates/pages/#{layout_name}/#{file_name}.jst.#{options[:template_kind]}" + empty_directory "#{app_path}/templates/pages/#{namespace_path}" + create_file "#{app_path}/templates/pages/#{namespace_path}/#{file_name}.jst.#{options[:template_kind]}" end protected def app_path - File.join class_path[0..-2] + if class_path.size < 2 + puts <<HELP +Usage: rails generate joosy:page joosy_app_name/page_namespace/page_name +Tip: do not add Page suffix to page_name +HELP + exit 1 + end + class_path[0] end + def namespace_path + File.join class_path[1..-1] + end + + def namespace_name + class_path[1..-1].map(&:camelize).join '.' + end + def layout_name - class_path.last + class_path[1] end end end end \ No newline at end of file