123456789_123456789_123456789_123456789_123456789_

Class: Rails::Generators::MailerGenerator

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, NamedBase, Base, Thor::Group
Instance Chain:
self, NamedBase, Base, Actions, Thor::Actions, Thor::Group
Inherits: Rails::Generators::NamedBase
Defined in: actionmailer/lib/rails/generators/mailer/mailer_generator.rb

Class Method Summary

Base - Inherited

.base_root

Returns the base root for a common set of generators.

.default_source_root

Returns the default source root for a given generator.

.desc

Tries to get the description from a USAGE file one folder above the source root otherwise uses a default description.

.hide!

Convenience method to hide this generator from the available ones when running rails generator command.

.hook_for

Invoke a generator based on the value supplied by the user to the given option named “name”.

.namespace

Convenience method to get the namespace from the class name.

.remove_hook_for

Remove a previously added hook.

.source_root

Returns the source root for this generator using default_source_root as default.

Instance Method Summary

Actions - Included

#add_source

Add the given source to Gemfile

#after_bundle

Registers a callback to be executed after bundle and spring binstubs have run.

#application
#capify!

Just run the capify command in root.

#environment

Adds a line inside the ::Rails::Application class for config/application.rb.

#gem

Adds an entry into Gemfile for the supplied gem.

#gem_group

Wraps gem entries inside a group.

#generate

Generate something using a generator from ::Rails or a plugin.

#git

Run a command in git.

#initializer

Create a new initializer with the provided code (either in a block or a string).

#lib

Create a new file in the lib/ directory.

#rake

Runs the supplied rake task.

#rakefile

Create a new Rakefile with the provided code (either in a block or a string).

#readme

Reads the given file at the source root and prints it in the console.

#route

Make an entry in ::Rails routing file config/routes.rb.

#vendor

Create a new file in the vendor/ directory.

Instance Method Details

#create_mailer_file

[ GitHub ]

  
# File 'actionmailer/lib/rails/generators/mailer/mailer_generator.rb', line 9

def create_mailer_file
  template "mailer.rb", File.join('app/mailers', class_path, "#{file_name}.rb")
  if self.behavior == :invoke
    template "application_mailer.rb", 'app/mailers/application_mailer.rb'
  end
end