From 67911b4e35d06828395a1713bdb2216dbf7358de Mon Sep 17 00:00:00 2001 From: Pierre Mesure Date: Mon, 30 Mar 2020 21:40:10 +0200 Subject: [PATCH] Simplify the method and fix Rubocop warnings --- app/controllers/admin/tags_controller.rb | 9 ++------- spec/features/admin/tags_spec.rb | 3 +-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/app/controllers/admin/tags_controller.rb b/app/controllers/admin/tags_controller.rb index 07704bd32..6ab6d1260 100644 --- a/app/controllers/admin/tags_controller.rb +++ b/app/controllers/admin/tags_controller.rb @@ -9,13 +9,8 @@ class Admin::TagsController < Admin::BaseController end def create - @existing_tag = Tag.where(name: tag_params.first).first - if @existing_tag - @existing_tag.kind = "category" - @existing_tag.save - else - Tag.category.create(tag_params) - end + Tag.find_or_create_by!(name: tag_params["name"]).update!(kind: "category") + redirect_to admin_tags_path end diff --git a/spec/features/admin/tags_spec.rb b/spec/features/admin/tags_spec.rb index 942487d2e..6cda5cd2a 100644 --- a/spec/features/admin/tags_spec.rb +++ b/spec/features/admin/tags_spec.rb @@ -90,7 +90,7 @@ describe "Admin tags" do end scenario "Upgrade tag to category" do - not_category_tag = create(:tag, name: "Soon a category") + create(:tag, name: "Soon a category") visit admin_tags_path @@ -101,5 +101,4 @@ describe "Admin tags" do expect(page).to have_content "Soon a category" end - end