From a0506a90d469fec5cd4a3b71ef32b8adaff18ebd Mon Sep 17 00:00:00 2001
From: Indigo Tech
Date: Sun, 21 Jul 2024 12:29:34 -0500
Subject: [PATCH 1/3] add tailwind generators for session
---
.../sessions/sessions_generator.rb | 42 +++++++++++++++++++
.../sessions/templates/new.html.erb.tt | 19 +++++++++
2 files changed, 61 insertions(+)
create mode 100644 lib/generators/tailwindcss/sessions/sessions_generator.rb
create mode 100644 lib/generators/tailwindcss/sessions/templates/new.html.erb.tt
diff --git a/lib/generators/tailwindcss/sessions/sessions_generator.rb b/lib/generators/tailwindcss/sessions/sessions_generator.rb
new file mode 100644
index 00000000..316f2d26
--- /dev/null
+++ b/lib/generators/tailwindcss/sessions/sessions_generator.rb
@@ -0,0 +1,42 @@
+# frozen_string_literal: true
+
+module Tailwindcss
+ module Generators
+ class SessionsGenerator < Erb::Generators::ScaffoldGenerator
+ include Rails::Generators::ResourceHelpers
+
+ source_root File.expand_path("templates", __dir__)
+ source_paths << "lib/templates/erb/sessions"
+
+ def create_session_files
+ template "models/session.rb", File.join("app/models/session.rb")
+ template "models/user.rb", File.join("app/models/user.rb")
+ template "models/current.rb", File.join("app/models/current.rb")
+
+ template "controllers/sessions_controller.rb", File.join("app/controllers/sessions_controller.rb")
+ template "controllers/concerns/authentication.rb", File.join("app/controllers/concerns/authentication.rb")
+
+ template "views/sessions/new.html.erb", File.join("app/views/sessions/new.html.erb")
+ end
+
+ def configure_application
+ gsub_file "app/controllers/application_controller.rb", /(class ApplicationController < ActionController::Base)/, "\\1\n include Authentication"
+ route "resource :session"
+ end
+
+ def enable_bcrypt
+ if File.read("Gemfile").include?('gem "bcrypt"')
+ uncomment_lines "Gemfile", /gem "bcrypt"/
+ Bundler.with_original_env { execute_command :bundle, "" }
+ else
+ Bundler.with_original_env { execute_command :bundle, "add bcrypt" }
+ end
+ end
+
+ def add_migrations
+ generate "migration CreateUsers email_address:string!:uniq password_digest:string! --force"
+ generate "migration CreateSessions user:references token:token ip_address:string user_agent:string --force"
+ end
+ end
+ end
+end
diff --git a/lib/generators/tailwindcss/sessions/templates/new.html.erb.tt b/lib/generators/tailwindcss/sessions/templates/new.html.erb.tt
new file mode 100644
index 00000000..3acc3d7b
--- /dev/null
+++ b/lib/generators/tailwindcss/sessions/templates/new.html.erb.tt
@@ -0,0 +1,19 @@
+
+ <%% if alert = flash[:alert] %>
+
<%%= alert %>
+ <%% end %>
+
+ <%%= form_with url: session_url do |form| %>
+
+ <%%= form.email_field :email_address, required: true, autofocus: true, autocomplete: "username", placeholder: "Enter your email address", value: params[:email_address], class: "block shadow rounded-md border border-gray-400 outline-none px-3 py-2 mt-2 w-full" %>
+
+
+
+ <%%= form.password_field :password, required: true, autocomplete: "current-password", placeholder: "Enter your password", maxlength: 72, class: "block shadow rounded-md border border-gray-400 outline-none px-3 py-2 mt-2 w-full" %>
+
+
+
+ <%%= form.submit "Sign in", class: "rounded-lg py-3 px-5 bg-blue-600 text-white inline-block font-medium cursor-pointer" %>
+
+ <%% end %>
+
\ No newline at end of file
From b6fee9c3634806b581223bb2e9d11d9c3ac6a87b Mon Sep 17 00:00:00 2001
From: Indigo Tech
Date: Sun, 21 Jul 2024 12:39:37 -0500
Subject: [PATCH 2/3] remove additional source paths
---
lib/generators/tailwindcss/sessions/sessions_generator.rb | 1 -
1 file changed, 1 deletion(-)
diff --git a/lib/generators/tailwindcss/sessions/sessions_generator.rb b/lib/generators/tailwindcss/sessions/sessions_generator.rb
index 316f2d26..f1fc89ed 100644
--- a/lib/generators/tailwindcss/sessions/sessions_generator.rb
+++ b/lib/generators/tailwindcss/sessions/sessions_generator.rb
@@ -6,7 +6,6 @@ class SessionsGenerator < Erb::Generators::ScaffoldGenerator
include Rails::Generators::ResourceHelpers
source_root File.expand_path("templates", __dir__)
- source_paths << "lib/templates/erb/sessions"
def create_session_files
template "models/session.rb", File.join("app/models/session.rb")
From 7d911c85903b2db6b535c00806d6dd05c62236cd Mon Sep 17 00:00:00 2001
From: Indigo Tech
Date: Sun, 21 Jul 2024 12:44:05 -0500
Subject: [PATCH 3/3] add log
---
lib/generators/tailwindcss/sessions/sessions_generator.rb | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/generators/tailwindcss/sessions/sessions_generator.rb b/lib/generators/tailwindcss/sessions/sessions_generator.rb
index f1fc89ed..cc97b34d 100644
--- a/lib/generators/tailwindcss/sessions/sessions_generator.rb
+++ b/lib/generators/tailwindcss/sessions/sessions_generator.rb
@@ -8,6 +8,7 @@ class SessionsGenerator < Erb::Generators::ScaffoldGenerator
source_root File.expand_path("templates", __dir__)
def create_session_files
+ puts "😀 Logging from TailwindCSS forked gem"
template "models/session.rb", File.join("app/models/session.rb")
template "models/user.rb", File.join("app/models/user.rb")
template "models/current.rb", File.join("app/models/current.rb")