aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rails
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-06-30 12:42:20 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-06-30 12:42:20 -0300
commit29d467290b1fee2b732b18b210604c8a7f97150a (patch)
tree49222f98128e754d8a7cd2b15b2d80349d60157d /lib/rails
parent47dd2415acbdd307a48e61a33dfd798dc8b65115 (diff)
parentba49be1c3ab2088e6a88d66a4b9a90f2d3dc5111 (diff)
downloadrails-29d467290b1fee2b732b18b210604c8a7f97150a.tar.gz
rails-29d467290b1fee2b732b18b210604c8a7f97150a.tar.bz2
rails-29d467290b1fee2b732b18b210604c8a7f97150a.zip
Merge pull request #93 from seuros/generator
[feature] ActiveJob generator
Diffstat (limited to 'lib/rails')
-rw-r--r--lib/rails/generators/active_job/job_generator.rb22
-rw-r--r--lib/rails/generators/active_job/templates/job.rb9
2 files changed, 31 insertions, 0 deletions
diff --git a/lib/rails/generators/active_job/job_generator.rb b/lib/rails/generators/active_job/job_generator.rb
new file mode 100644
index 0000000000..fe4af0d2cc
--- /dev/null
+++ b/lib/rails/generators/active_job/job_generator.rb
@@ -0,0 +1,22 @@
+require 'rails/generators/named_base'
+
+module ActiveJob
+ module Generators # :nodoc:
+ class JobGenerator < Rails::Generators::NamedBase # :nodoc:
+ desc 'This generator creates an active job file at app/jobs'
+
+ class_option :queue, type: :string, default: 'default', desc: 'The queue name for the generated job'
+
+ def self.default_generator_root
+ File.dirname(__FILE__)
+ end
+
+ check_class_collision suffix: 'Job'
+
+ def create_job_file
+ template 'job.rb', File.join('app/jobs', class_path, "#{file_name}_job.rb")
+ end
+
+ end
+ end
+end \ No newline at end of file
diff --git a/lib/rails/generators/active_job/templates/job.rb b/lib/rails/generators/active_job/templates/job.rb
new file mode 100644
index 0000000000..6a21616d30
--- /dev/null
+++ b/lib/rails/generators/active_job/templates/job.rb
@@ -0,0 +1,9 @@
+<% module_namespacing do -%>
+class <%= class_name %>Job < ActiveJob::Base
+ queue_as :<%= options[:queue] %>
+
+ def perform
+ # Do something later
+ end
+end
+<% end -%> \ No newline at end of file