lib/generators/extension/extension_generator.rb in radiant-0.6.4 vs lib/generators/extension/extension_generator.rb in radiant-0.6.5

- old
+ new

@@ -1,6 +1,8 @@ class ExtensionGenerator < Rails::Generator::NamedBase + default_options :with_test_unit => false + attr_reader :extension_path, :extension_file_name def initialize(runtime_args, runtime_options = {}) super @extension_file_name = "#{file_name}_extension" @@ -13,26 +15,46 @@ m.directory "#{extension_path}/app/helpers" m.directory "#{extension_path}/app/models" m.directory "#{extension_path}/app/views" m.directory "#{extension_path}/db/migrate" m.directory "#{extension_path}/lib/tasks" - m.directory "#{extension_path}/test/fixtures" - m.directory "#{extension_path}/test/functional" - m.directory "#{extension_path}/test/unit" - + m.template 'README', "#{extension_path}/README" - m.template 'Rakefile', "#{extension_path}/Rakefile" m.template 'extension.rb', "#{extension_path}/#{extension_file_name}.rb" m.template 'tasks.rake', "#{extension_path}/lib/tasks/#{extension_file_name}_tasks.rake" - m.template 'test_helper.rb', "#{extension_path}/test/test_helper.rb" - m.template 'functional_test.rb', "#{extension_path}/test/functional/#{extension_file_name}_test.rb" + + if options[:with_test_unit] + m.directory "#{extension_path}/test/fixtures" + m.directory "#{extension_path}/test/functional" + m.directory "#{extension_path}/test/unit" + + m.template 'Rakefile', "#{extension_path}/Rakefile" + m.template 'test_helper.rb', "#{extension_path}/test/test_helper.rb" + m.template 'functional_test.rb', "#{extension_path}/test/functional/#{extension_file_name}_test.rb" + else + m.directory "#{extension_path}/spec/controllers" + m.directory "#{extension_path}/spec/models" + m.directory "#{extension_path}/spec/views" + m.directory "#{extension_path}/spec/helpers" + + m.template 'RSpecRakefile', "#{extension_path}/Rakefile" + m.template 'spec_helper.rb', "#{extension_path}/spec/spec_helper.rb" + m.file 'spec.opts', "#{extension_path}/spec/spec.opts" + end end end def class_name super.to_name.gsub(' ', '') + 'Extension' end def extension_name class_name.to_name('Extension') + end + + def add_options!(opt) + opt.separator '' + opt.separator 'Options:' + opt.on("--with-test-unit", + "Use Test::Unit for this extension instead of RSpec") { |v| options[:with_test_unit] = v } end end \ No newline at end of file