Class: ActiveMail::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/activemail/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_initializerObject



15
16
17
# File 'lib/generators/activemail/install_generator.rb', line 15

def create_initializer
  template 'initializer.rb', File.join('config', 'initializers', 'activemail.rb')
end

#create_mailer_layoutObject



27
28
29
30
# File 'lib/generators/activemail/install_generator.rb', line 27

def create_mailer_layout
  template "mailer_layout.html.inky-#{extension}",
           File.join(layouts_base_dir, "#{layout_name.underscore}.html.inky-#{extension}")
end

#preserve_original_mailer_layoutObject

A plain mailer.html.erb would win over the generated inky layout; keep it.



20
21
22
23
24
25
# File 'lib/generators/activemail/install_generator.rb', line 20

def preserve_original_mailer_layout
  return unless layout_name == 'mailer' && extension == 'erb'

  original = File.join(layouts_base_dir, 'mailer.html.erb')
  back_up_layout(original) if File.exist?(File.join(destination_root, original))
end

#show_readmeObject



32
33
34
35
36
37
38
39
40
# File 'lib/generators/activemail/install_generator.rb', line 32

def show_readme
  say "\nActiveMail installed.", :green
  say '  • config/initializers/activemail.rb — configure tokens, inliner, components.'
  say "  • app/views/layouts/#{layout_name.underscore}.html.inky-#{extension} — your mailer layout."
  say "\nPoint your mailers at the layout, e.g. `layout \"#{layout_name.underscore}\"`, and"
  say "name views *.html.inky-#{extension} to enable ActiveMail markup."
  say "\nCustomize styling via Ruby tokens in the initializer (config.tokens.color/font/spacing),"
  say 'or run `rails g activemail:styles` to eject and edit the SCSS partials.'
end