Updated

app/controllers/accounts/contacts / events_controller.rb

B
60 lines of codes
9 methods
8.5 complexity/method
42 churn
76.9 complexity
0 duplications
class Accounts::Contacts::EventsController < InternalController
  1. Accounts::Contacts::EventsController assumes too much for instance variable '@contact'
  2. Accounts::Contacts::EventsController assumes too much for instance variable '@deal'
  3. Accounts::Contacts::EventsController assumes too much for instance variable '@event'
  4. Accounts::Contacts::EventsController has no descriptive comment
before_action :set_event, only: %i[show edit update destroy show] before_action :set_contact, only: %i[show edit update destroy new] def new # @event = current_user.account.events.new(event_params.merge({contact: @contact})) @event = EventBuilder.new(current_user, event_params.merge({ contact_id: @contact.id, kind: params[:kind], deal_id: params[:deal_id] })).build end def edit; end def create
  1. Accounts::Contacts::EventsController#create has a flog score of 28
  2. Accounts::Contacts::EventsController#create has approx 6 statements
@event = EventBuilder.new(current_user, event_params).build if @event.save respond_to do |format| format.html do redirect_to(new_account_contact_event_path(account_id: current_user.account, contact_id: @event.deal.contact.id,
  1. Accounts::Contacts::EventsController#create calls '@event.deal' 2 times Locations: 0 1
deal_id: @event.deal.id))
  1. Accounts::Contacts::EventsController#create calls '@event.deal' 2 times Locations: 0 1
end format.turbo_stream end else render :new, status: :unprocessable_entity end end def destroy @event.destroy end def update @deal = current_user.account.deals.find(params[:deal_id]) @events = @deal.contact.events render :edit, status: :unprocessable_entity unless @event.update(event_params) end def show; end private # Use callbacks to share common setup or constraints between actions. def set_event @event = current_user.account.events.find(params[:id]) end def set_contact @contact = current_user.account.contacts.find(params[:contact_id]) end # Only allow a list of trusted parameters through. def event_params params.require(:event).permit(:content, :contact_id, :send_now, :done, :deal_id, :auto_done, :title, :scheduled_at, :from_me, :kind, :app_type, :app_id, files: [], custom_attributes: {}, additional_attributes: {}) rescue StandardError {} end end