Updated

app/builders / contact_builder.rb

A
21 lines of codes
3 methods
5.8 complexity/method
9 churn
17.42 complexity
0 duplications
class ContactBuilder
  1. ContactBuilder assumes too much for instance variable '@contact'
  2. ContactBuilder has no descriptive comment
def initialize(user, params, search_if_exists = false)
  1. ContactBuilder#initialize has boolean parameter 'search_if_exists'
@params = params @user = user @search_if_exists = search_if_exists end def perform if @search_if_exists @contact = Accounts::Contacts::GetByParams.call(Current.account, contact_params.slice(:phone, :email).to_h)[:ok] end @contact ||= Contact.new @contact.assign_attributes(contact_params) @contact end def contact_params @params.permit(:full_name, :phone, :email, :label_list, custom_attributes: {}, additional_attributes: {}) end end