Compare commits

..

No commits in common. "f4857f73fc663ef76639881a93d2c87a9a75a02a" and "c00e3360093b765af0034e1ac29fe9b5e35ec11f" have entirely different histories.

7 changed files with 21 additions and 25 deletions

View File

@ -240,7 +240,7 @@ GEM
shellany (~> 0.0) shellany (~> 0.0)
ostruct (0.6.1) ostruct (0.6.1)
parallel (1.26.3) parallel (1.26.3)
parser (3.3.7.0) parser (3.3.6.0)
ast (~> 2.4.1) ast (~> 2.4.1)
racc racc
pg (1.5.9) pg (1.5.9)
@ -312,7 +312,7 @@ GEM
reline (0.6.0) reline (0.6.0)
io-console (~> 0.5) io-console (~> 0.5)
rexml (3.4.0) rexml (3.4.0)
rubocop (1.70.0) rubocop (1.69.2)
json (~> 2.3) json (~> 2.3)
language_server-protocol (>= 3.17.0) language_server-protocol (>= 3.17.0)
parallel (~> 1.10) parallel (~> 1.10)
@ -403,7 +403,7 @@ GEM
railties (>= 6.0.0) railties (>= 6.0.0)
tzinfo (2.0.6) tzinfo (2.0.6)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
unicode-display_width (3.1.4) unicode-display_width (3.1.3)
unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4) unicode-emoji (4.0.4)
uri (1.0.2) uri (1.0.2)

View File

@ -35,7 +35,6 @@ class UsersController < ApplicationController
rescue => e rescue => e
logger.error "User creation failed: #{e.message}" logger.error "User creation failed: #{e.message}"
flash[:danger] = "Something went wrong. Please try again." flash[:danger] = "Something went wrong. Please try again."
@user.destroy
render "new", status: :unprocessable_entity render "new", status: :unprocessable_entity
end end
else else

View File

@ -1,4 +1,4 @@
class ApplicationMailer < ActionMailer::Base class ApplicationMailer < ActionMailer::Base
default from: ENV.fetch("RAILS_SMTP_USERNAME", "noreply@mail.frytea.com") default from: ENV.fetch("RAILS_SMTP_USERNAME", "user@example.com")
layout "mailer" layout "mailer"
end end

View File

@ -1,8 +1,10 @@
<footer class="footer p-10 bg-neutral text-neutral-content"> <footer class="footer footer-center bg-base-200 text-base-content rounded p-10 mt-8">
<div> <nav class="grid grid-flow-col gap-4">
<span class="footer-title">AI Weather Art</span> <%= link_to "About", about_url, class: "link link-hover" %>
<p>Daily weather-inspired AI artwork for cities worldwide</p> <%= link_to "Contact", contact_url, class: "link link-hover" %>
<a href="https://news.railstutorial.org" class="text-gray-600 hover:text-gray-900">News</a>
</nav>
<aside>
<p>Copyright © <%= Date.current.year %> - All right reserved by ACME Industries Ltd</p> <p>Copyright © <%= Date.current.year %> - All right reserved by ACME Industries Ltd</p>
</div> </aside>
</footer> </footer>

View File

@ -1 +1 @@
cqs9ydKMwuEzuVqY7X0nwYDXnlpzUkOStSZDIjFJDoi60dKo+Jp4vSVMsHNYpqyUqIsauxpQ1rc+HdWLGu49DlCc4OCZ3JAAQ2a19woyhAC/FH+ytKAD76bMFtKLAMa5GJdh2Wa6YLh0dh/8uVlU58yfj7fnGRLmP0IpxM2CjlqzztnUZwxNR2TnvuV9L+P6pAobKsAVE2VQMDY9f5LxJKdJHHtS87Be4O6Y6K+9bhJp2JaexWXV/pN+M/nF8tMUBmlE+oR7Vi53lS3crM0t/LqJYs49hUuCpCwsDCFdF6rIXj3n9jJcL3OOm4SpGo/Zhj2XWP7XKjYs7z6RAuM2d2WqAhkHBXet1pJv+BpVU1czSCazQTExp9sd1dM5UKx7oJv9m64kN2qzpKNDmGcyHxUusrIKpFhPvbJPGAbd3LAvz0puoWfeTM3xT/2bdIfxF8zzBUUN5KsdT08zYKavunQng66ndWcJmpxfGcbTMDQXU4GPhSlQvFA0rWLcGqMdaob0PVRzgArgLpYEowE+jiEsGsDAdVC/CpWgqaL8gmE3bWLC5RrT6OxXXy5psaezox/x/+W6rL9i6O5ldf3x+W5TeqEN1lzkfDNZkGVHI8rzY46fe0wYbeQV8RAz00xa6sEFdQMY4xYHS39m5c6e5TB6Av9YaTPVR0yFDfisTBV1X6AlJz/F2ahFYPEF0aFs/VPmlbJOE/jRooz+s812Td/YT+iC1YYAGywYlhgWZY0ka9Mr8DjLhVksK4sSFTR6tH//MU/O1R/Pieb/NyoglKVrW0h5SjAcAUouC8C0PlEFOsaWJME4iCU2UXHHRuxWnLM0tzXkmDjeRLrkKjGYC5N84GP+31pK6yCal8uKKzDPZfd/1vlIkoJmlYcQSB/yIQ1LmB5HHDxnu0tk9nomk54PXUPoxr5HPIJkVe0q+O0CryFxQRy8VtVtsuVK/uXPxxqQpul2Yogao//Xo+Zhm0d+SJIe/VckdSiGl2nEsaeeNiHWh2jFwO5qMxnBJ3Ag1I4FPCkaHd37oVxKCE+qvMnUjVo4A/6iwezvqXH2kIa0aVJxig4P9dXFVf9otzEOTy9ZliQRS9mTos5s/HZ+2EvWMfzc5gu39xRkna/syjPtej1+ufK+YWKjBk/X0aoxU/8GdtGe/t5YQCxlgGY7DORG6iqIdMGAi86WwJhuhFkmNjSaJuJi/TtRXk0WFSgZFz/i7zWzNTVvrdKxzMPTHfXiKZcCzNaTedB/tkTUa+12UIsn/RQ/1DWCUfM6CKL4DPuVJ9fYK025WYt6DU9LZwUdcjqEqe+cToTh7M4XImAdkMAFPlLAB0ybHnaN2b4=--ShCCU2t4yvuvLbVA--f/kJmPKywHAaXzLJUi35VQ== /ttF+x55j6ZTSjsUldgbvhtqOQx2RIhMFFvooE6Bi+RP+JlXziCUubpJHGfbscjEgukeif4rrmBWJ1aiL3nf9pPmEnvbt5HsmucpLZE9NEoLZW/lNQktVdQCB+dSiX9pwfGxI75R/63rz05cuFtXh0TpnNGhriHZwX/mSbNZQ70p+WK304EtXoqGNWD8TBuLTbRbY3Jjdx0a3AM1UIszD0r9Au775opGCqw0uWciVkAcIWeLFBH+hld71ZTalrei661OKr6qwFwcnPtXlTwPv2GCAZj5sod0vYFksjwztbHgWbYpk0ZoexxGeVjKXgR977XpqTusfkxhc1RlftIlW59sngS9uStfUjLOgEIiO6Luxrq/9mCXxETk1vSYEfUmzj6wNg5QJcI/BwmSxoxKkXrwqXpU0TzRnUQoCWOCvhO4U+KAKcueV7JjjY39GU9vj7hiY1AsYUnZCdd4orxAazUibOpGlxtVjSCc4OUU25VdHbayai18Om7J6QdSRc48SBYau4HYr1cI7okfxnsQtad1YtVUufPG0PvLR9sbk9AyDQu0a0vtP8kXCSUGMS5FeQ==--dcyGnovSBlvMYvIb--S4VD+flhOEWm93yUMSe44Q==

View File

@ -59,20 +59,15 @@ Rails.application.configure do
# Set host to be used by links generated in mailer templates. # Set host to be used by links generated in mailer templates.
# config.action_mailer.default_url_options = { host: "example.com" } # config.action_mailer.default_url_options = { host: "example.com" }
config.action_mailer.default_url_options = { host: ENV.fetch("RAILS_BASE_URL", "example.com") } config.action_mailer.default_url_options = ENV.fetch("RAILS_BASE_URL", "example.com")
config.action_mailer.delivery_method = :smtp
# Specify outgoing SMTP server. Remember to add smtp/* credentials via rails credentials:edit. # Specify outgoing SMTP server. Remember to add smtp/* credentials via rails credentials:edit.
config.action_mailer.smtp_settings = { config.action_mailer.smtp_settings = {
address: ENV.fetch("RAILS_SMTP_HOST", Rails.application.credentials.smtp.address), user_name: ENV.fetch("RAILS_SMTP_USERNAME", Rails.application.credentials.dig(:smtp, :user_name)),
password: ENV.fetch("RAILS_SMTP_PASSWORD", Rails.application.credentials.dig(:smtp, :password)),
address: ENV.fetch("RAILS_SMTP_HOST", "smtp.example.com"),
port: ENV.fetch("RAILS_SMTP_PORT", 465), port: ENV.fetch("RAILS_SMTP_PORT", 465),
user_name: ENV.fetch("RAILS_SMTP_USERNAME", "noreply@mail.frytea.com"), authentication: :plain
password: ENV.fetch("RAILS_SMTP_PASSWORD", Rails.application.credentials.smtp.password),
ssl: ENV.fetch("RAILS_SMTP_SSL", true),
authentication: "plain",
enable_starttls_auto: true,
open_timeout: 5,
read_timeout: 5
} }
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to # Enable locale fallbacks for I18n (makes lookups for any locale fall back to

View File

@ -8,8 +8,8 @@ class SiteLayoutTest < ActionDispatch::IntegrationTest
get root_path get root_path
assert_template "static_pages/home" assert_template "static_pages/home"
assert_select "a[href=?]", root_url, count: 3 assert_select "a[href=?]", root_url, count: 3
# assert_select "a[href=?]", about_url assert_select "a[href=?]", about_url
# assert_select "a[href=?]", help_url assert_select "a[href=?]", help_url
# assert_select "a[href=?]", contact_url assert_select "a[href=?]", contact_url
end end
end end