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")