class RailsBestPractices::Reviews::CheckSaveReturnValueReview

Review all code to make sure we either check the return value of “save”, “update_attributes” and “create” or use “save!”, “update_attributes!”, or “create!”, respectively.

See the best practice details here rails-bestpractices.com/posts/2012/11/02/check-the-return-value-of-save-otherwise-use-save/

Implementation:

Review process:

Track which nodes are used by 'if', 'unless', '&&' nodes etc. as we pass them by.
Check all "save" calls to check the return value is used by a node we have visited.

Public Instance Methods

model_classnames() click to toggle source
# File lib/rails_best_practices/reviews/check_save_return_value_review.rb, line 57
def model_classnames
  @model_classnames ||= models.map(&:to_s)
end
return_value_is_used?(node) click to toggle source
# File lib/rails_best_practices/reviews/check_save_return_value_review.rb, line 51
def return_value_is_used?(node)
  return false unless @used_return_value_of

  (node == @used_return_value_of) || @used_return_value_of.include?(node)
end