Class: ReactEmailRails::Generators::EmailGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/react_email_rails/email_generator.rb

Instance Method Summary collapse

Instance Method Details

#copy_email_componentsObject



49
50
51
52
53
54
55
56
57
58
# File 'lib/generators/react_email_rails/email_generator.rb', line 49

def copy_email_components
  empty_directory(component_base_path)

  actions.each do |action|
    @action = action
    @component_name = action.camelize
    @path = File.join(component_base_path, "#{action}#{component_extension}")
    template("component.tsx", @path)
  end
end

#create_mailer_fileObject



39
40
41
42
43
44
45
46
47
# File 'lib/generators/react_email_rails/email_generator.rb', line 39

def create_mailer_file
  template("mailer.rb", File.join("app/mailers", class_path, "#{file_name}_mailer.rb"))

  in_root do
    if behavior == :invoke && !File.exist?(application_mailer_file_name)
      template("application_mailer.rb", application_mailer_file_name)
    end
  end
end

#create_preview_fileObject



66
67
68
69
70
# File 'lib/generators/react_email_rails/email_generator.rb', line 66

def create_preview_file
  return if options[:skip_preview]

  template("mailer_preview.rb", File.join("test/mailers/previews", class_path, "#{file_name}_mailer_preview.rb"))
end

#create_test_fileObject



60
61
62
63
64
# File 'lib/generators/react_email_rails/email_generator.rb', line 60

def create_test_file
  return if options[:skip_test]

  template("mailer_test.rb", File.join("test/mailers", class_path, "#{file_name}_mailer_test.rb"))
end