diff --git a/.gitignore b/.gitignore index 50fcfb5..1c76067 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,7 @@ /db/**/*.sqlite3-* .envrc + +# Ignore files generated by Rubymine +.idea +.idea/* diff --git a/Gemfile.lock b/Gemfile.lock index 4106f4b..8fa2c37 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -381,6 +381,7 @@ GEM PLATFORMS aarch64-linux arm64-darwin-22 + arm64-darwin-23 x86_64-linux DEPENDENCIES diff --git a/app/controllers/videos/subscribers_controller.rb b/app/controllers/videos/subscribers_controller.rb index b6b85ec..3f4b061 100644 --- a/app/controllers/videos/subscribers_controller.rb +++ b/app/controllers/videos/subscribers_controller.rb @@ -6,9 +6,9 @@ class Videos::SubscribersController < ApplicationController def create case subscribers_create.call when Dry::Monads::Success - flash.now[:notice] = "You've subscribed successfully!" + add_success_message when Dry::Monads::Failure - flash.now[:error] = "There was a problem subscribing you! #{subscriber.errors.full_messages.join(', ')}" + add_error_message end end @@ -16,6 +16,12 @@ def create def subscribers_create = Subscribers::Create.new(subscriber:, list:, unsubscribe_url:) + def add_success_message = flash.now[:notice] = t(".success_message") + + def add_error_message = flash.now[:error] = t(".error_message", error_messages:) + + def error_messages = subscriber.errors.full_messages.join(", ") + def unsubscribe_url = new_videos_unsubscribe_url def subscriber = @_subscriber ||= Subscriber.new(subscriber_params) diff --git a/config/locales/en.yml b/config/locales/en.yml index 6c349ae..2d8b84c 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -29,3 +29,9 @@ en: hello: "Hello world" + + videos: + subscribers: + create: + success_message: "You've subscribed successfully!" + error_message: "There was a problem subscribing you! %{error_messages}"