From 2b493cccd3d324696ad7d511cf504125f595af04 Mon Sep 17 00:00:00 2001 From: Dino Maric Date: Wed, 13 Oct 2021 19:04:55 +0200 Subject: [PATCH] Generator: Mailer and styles Testing only mailer wasn't working from the default rails generators, so this PR adds mailer also. Also, fixes pointer on the submit button and small fix on controller h1 style to match the one from the scaffold index. --- .../controller/templates/view.html.erb.tt | 2 +- .../tailwindcss/mailer/mailer_generator.rb | 9 ++++++ .../mailer/templates/view.html.erb.tt | 5 +++ .../mailer/templates/view.text.erb.tt | 3 ++ .../scaffold/templates/_form.html.erb.tt | 2 +- .../tailwindcss/mailer_generator_test.rb | 31 +++++++++++++++++++ 6 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 lib/generators/tailwindcss/mailer/mailer_generator.rb create mode 100644 lib/generators/tailwindcss/mailer/templates/view.html.erb.tt create mode 100644 lib/generators/tailwindcss/mailer/templates/view.text.erb.tt create mode 100644 test/lib/generators/tailwindcss/mailer_generator_test.rb diff --git a/lib/generators/tailwindcss/controller/templates/view.html.erb.tt b/lib/generators/tailwindcss/controller/templates/view.html.erb.tt index 0324bdd7..abab1497 100644 --- a/lib/generators/tailwindcss/controller/templates/view.html.erb.tt +++ b/lib/generators/tailwindcss/controller/templates/view.html.erb.tt @@ -1,4 +1,4 @@
-

<%= class_name %>#<%= @action %>

+

<%= class_name %>#<%= @action %>

Find me in <%= @path %>

diff --git a/lib/generators/tailwindcss/mailer/mailer_generator.rb b/lib/generators/tailwindcss/mailer/mailer_generator.rb new file mode 100644 index 00000000..730b78c2 --- /dev/null +++ b/lib/generators/tailwindcss/mailer/mailer_generator.rb @@ -0,0 +1,9 @@ +require "rails/generators/erb/mailer/mailer_generator" + +module Tailwindcss + module Generators + class MailerGenerator < Erb::Generators::MailerGenerator + source_root File.expand_path("../templates", __FILE__) + end + end +end diff --git a/lib/generators/tailwindcss/mailer/templates/view.html.erb.tt b/lib/generators/tailwindcss/mailer/templates/view.html.erb.tt new file mode 100644 index 00000000..2b3b8ca3 --- /dev/null +++ b/lib/generators/tailwindcss/mailer/templates/view.html.erb.tt @@ -0,0 +1,5 @@ +

<%= class_name %>#<%= @action %>

+ +

+ <%%= @greeting %>, find me in <%= @path %> +

\ No newline at end of file diff --git a/lib/generators/tailwindcss/mailer/templates/view.text.erb.tt b/lib/generators/tailwindcss/mailer/templates/view.text.erb.tt new file mode 100644 index 00000000..f458ddfe --- /dev/null +++ b/lib/generators/tailwindcss/mailer/templates/view.text.erb.tt @@ -0,0 +1,3 @@ +<%= class_name %>#<%= @action %> + +<%%= @greeting %>, find me in <%= @path %> \ No newline at end of file diff --git a/lib/generators/tailwindcss/scaffold/templates/_form.html.erb.tt b/lib/generators/tailwindcss/scaffold/templates/_form.html.erb.tt index a6d0dea1..ed1a4e1c 100644 --- a/lib/generators/tailwindcss/scaffold/templates/_form.html.erb.tt +++ b/lib/generators/tailwindcss/scaffold/templates/_form.html.erb.tt @@ -38,6 +38,6 @@ <% end -%>
- <%%= form.submit class: "rounded-lg py-3 px-5 bg-blue-600 text-white inline-block font-medium" %> + <%%= form.submit class: "rounded-lg py-3 px-5 bg-blue-600 text-white inline-block font-medium cursor-pointer" %>
<%% end %> diff --git a/test/lib/generators/tailwindcss/mailer_generator_test.rb b/test/lib/generators/tailwindcss/mailer_generator_test.rb new file mode 100644 index 00000000..e9cabb96 --- /dev/null +++ b/test/lib/generators/tailwindcss/mailer_generator_test.rb @@ -0,0 +1,31 @@ +require "test_helper" +require "rails/generators/mailer/mailer_generator" +require "generators/tailwindcss/mailer/mailer_generator" + +class Tailwindcss::Generators::MailerGeneratorTest < Rails::Generators::TestCase + GENERATION_PATH = File.expand_path("../mailer_tmp", File.dirname(__FILE__)) + + tests Rails::Generators::MailerGenerator + destination GENERATION_PATH + + arguments %w(Notifications invoice) + + Minitest.after_run do + FileUtils.rm_rf GENERATION_PATH + end + + test "generates correct mailer view templates" do + run_generator + + assert_file "app/views/notifications_mailer/invoice.html.erb" do |view| + assert_match %r(app/views/notifications_mailer/invoice\.html\.erb), view + assert_match(/\= @greeting/, view) + end + + assert_file "app/views/notifications_mailer/invoice.text.erb" do |view| + assert_match %r(app/views/notifications_mailer/invoice\.text\.erb), view + assert_match(/\= @greeting/, view) + end + end +end +