From 66c8ce78bc5510f0182443cbfca0ed2913ed79e3 Mon Sep 17 00:00:00 2001 From: Mackenzie Morgan Date: Mon, 28 Nov 2016 22:04:32 -0500 Subject: [PATCH] further DRY up crops controller --- app/controllers/crops_controller.rb | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/app/controllers/crops_controller.rb b/app/controllers/crops_controller.rb index e80701871..a738024f9 100644 --- a/app/controllers/crops_controller.rb +++ b/app/controllers/crops_controller.rb @@ -168,18 +168,8 @@ class CropsController < ApplicationController respond_to do |format| if @crop.update(crop_params) - if !params[:alt_name].nil? - destroy_names('alternate') - params[:alt_name].each do |index, value| - create_name('alternate', value) - end - end - if !params[:sci_name].nil? - destroy_names('scientific') - params[:sci_name].each do |index, value| - create_name('scientific', value) - end - end + recreate_names('alt_name', 'alternate') + recreate_names('sci_name', 'scientific') if previous_status == "pending" requester = @crop.requester @@ -210,6 +200,15 @@ class CropsController < ApplicationController private + def recreate_names(param_name, name_type) + if params[param_name].present? + destroy_names(name_type) + params[param_name].each do |index, value| + create_name(name_type, value) + end + end + end + def destroy_names(name_type) @crop.send("#{name_type}_names").each do |alt_name| alt_name.destroy