@@ -208,34 +208,33 @@ def update_conditions(param_conditions, old_to_new_opts, question_id_map)
208208 conditions . destroy_all
209209 return unless param_conditions . present?
210210
211- param_conditions . each do |_key , value |
211+ param_conditions . each_value do |value |
212212 save_condition ( value , old_to_new_opts , question_id_map )
213213 end
214214 end
215215
216216 # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
217+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
217218 def save_condition ( value , opt_map , question_id_map )
218219 c = conditions . build
219220 c . action_type = value [ 'action_type' ]
220221 c . number = value [ 'number' ]
221222 # question options may have changed so rewrite them
222223 c . option_list = value [ 'question_option' ]
223224 unless opt_map . blank?
224- new_question_options = [ ]
225- c . option_list . each do |qopt |
226- new_question_options << opt_map [ qopt ]
225+ new_question_options = c . option_list . map do |qopt |
226+ opt_map [ qopt ]
227227 end
228- c . option_list = new_question_options
228+ c . option_list = new_question_options || [ ]
229229 end
230230
231231 if value [ 'action_type' ] == 'remove'
232232 c . remove_data = value [ 'remove_question_id' ]
233233 unless question_id_map . blank?
234- new_question_ids = [ ]
235- c . remove_data . each do |qid |
236- new_question_ids << question_id_map [ qid ]
234+ new_question_ids = c . remove_data . each do |qid |
235+ question_id_map [ qid ]
237236 end
238- c . remove_data = new_question_ids
237+ c . remove_data = new_question_ids || [ ]
239238 end
240239 else
241240 c . webhook_data = {
@@ -247,6 +246,7 @@ def save_condition(value, opt_map, question_id_map)
247246 end
248247 c . save
249248 end
249+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
250250 # rubocop:enable Metrics/MethodLength, Metrics/AbcSize
251251
252252 private
0 commit comments