Rake tasks generator with test
This commit is contained in:
parent
6bff6439b1
commit
5e68fed450
9
railties/lib/rails/generators/rails/task/USAGE
Normal file
9
railties/lib/rails/generators/rails/task/USAGE
Normal file
@ -0,0 +1,9 @@
|
||||
Description:
|
||||
Stubs out a new Rake task. Pass the namespace name, and a list of tasks as arguments.
|
||||
|
||||
This generates a task file in lib/tasks.
|
||||
|
||||
Example:
|
||||
`rails generate task feeds fetch erase add`
|
||||
|
||||
Task: lib/tasks/feeds.rake
|
12
railties/lib/rails/generators/rails/task/task_generator.rb
Normal file
12
railties/lib/rails/generators/rails/task/task_generator.rb
Normal file
@ -0,0 +1,12 @@
|
||||
module Rails
|
||||
module Generators
|
||||
class TaskGenerator < NamedBase
|
||||
argument :actions, :type => :array, :default => [], :banner => "action action"
|
||||
|
||||
def create_task_files
|
||||
template 'task.rb', File.join('lib/tasks', "#{file_name}.rake")
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
@ -0,0 +1,8 @@
|
||||
namespace :<%= file_name %> do
|
||||
<% actions.each do |action| -%>
|
||||
desc "TODO"
|
||||
task :<%= action %> => :environment do
|
||||
end
|
||||
|
||||
<% end -%>
|
||||
end
|
12
railties/test/generators/task_generator_test.rb
Normal file
12
railties/test/generators/task_generator_test.rb
Normal file
@ -0,0 +1,12 @@
|
||||
require 'generators/generators_test_helper'
|
||||
require 'rails/generators/rails/task/task_generator'
|
||||
|
||||
class TaskGeneratorTest < Rails::Generators::TestCase
|
||||
include GeneratorsTestHelper
|
||||
arguments %w(feeds foo bar)
|
||||
|
||||
def test_controller_skeleton_is_created
|
||||
run_generator
|
||||
assert_file "lib/tasks/feeds.rake", /namespace :feeds/
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user