From c2e095adba013f78ab69552d8464285de871c386 Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Thu, 14 Aug 2025 14:07:35 +0200 Subject: [PATCH] chore: revert memoization patterns and redundant default values - Disable Style/MemoizeInstanceVariable and Style/RedundantAssignment rules - Revert all instance_variable_defined? patterns back to ||= memoization - Restore || 0 and || 1 default values that were removed by RuboCop - Restore ternary operator formatting - Reduce PR from 35 to 18 files by removing cosmetic style changes --- .rubocop.yml | 6 ++++++ app/actions/contact_identify_action.rb | 13 ++----------- .../api/v1/accounts/campaigns_controller.rb | 6 +----- .../api/v1/accounts/categories_controller.rb | 6 +----- .../conversations/direct_uploads_controller.rb | 6 +----- .../v1/accounts/integrations/shopify_controller.rb | 6 +----- app/controllers/api/v1/widget/base_controller.rb | 6 +----- app/services/crm/leadsquared/setup_service.rb | 4 ++-- app/services/instagram/read_status_service.rb | 6 +----- app/services/search_service.rb | 6 +----- app/services/sms/delivery_status_service.rb | 6 +----- app/services/twilio/delivery_status_service.rb | 6 +----- enterprise/app/helpers/captain/chat_helper.rb | 2 +- .../enterprise/account/plan_usage_and_limits.rb | 6 +++--- .../tools/copilot/search_linear_issues_service.rb | 2 +- lib/integrations/facebook/delivery_status.rb | 6 +----- .../google_translate/processor_service.rb | 6 +----- lib/integrations/openai_base_service.rb | 6 +----- lib/integrations/slack/incoming_message_builder.rb | 6 +----- lib/webhooks/trigger.rb | 6 +----- 20 files changed, 29 insertions(+), 88 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 3d58bc94e..d359a087a 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -378,3 +378,9 @@ Performance/CollectionLiteralInLoop: Performance/MapHash: Enabled: false + +Style/MemoizeInstanceVariable: + Enabled: false + +Style/RedundantAssignment: + Enabled: false diff --git a/app/actions/contact_identify_action.rb b/app/actions/contact_identify_action.rb index a92d30376..bcf5a93c3 100644 --- a/app/actions/contact_identify_action.rb +++ b/app/actions/contact_identify_action.rb @@ -7,7 +7,6 @@ class ContactIdentifyAction include UrlHelper - pattr_initialize [:contact!, :params!, { retain_original_contact_name: false, discard_invalid_attrs: false }] def perform @@ -55,11 +54,7 @@ class ContactIdentifyAction def existing_identified_contact return if params[:identifier].blank? - if instance_variable_defined?(:@existing_identified_contact) - @existing_identified_contact - else - @existing_identified_contact = account.contacts.find_by(identifier: params[:identifier]) - end + @existing_identified_contact ||= account.contacts.find_by(identifier: params[:identifier]) end def existing_email_contact @@ -71,11 +66,7 @@ class ContactIdentifyAction def existing_phone_number_contact return if params[:phone_number].blank? - if instance_variable_defined?(:@existing_phone_number_contact) - @existing_phone_number_contact - else - @existing_phone_number_contact = account.contacts.find_by(phone_number: params[:phone_number]) - end + @existing_phone_number_contact ||= account.contacts.find_by(phone_number: params[:phone_number]) end def merge_contacts?(existing_contact, key) diff --git a/app/controllers/api/v1/accounts/campaigns_controller.rb b/app/controllers/api/v1/accounts/campaigns_controller.rb index 3bac067a0..2a1650e53 100644 --- a/app/controllers/api/v1/accounts/campaigns_controller.rb +++ b/app/controllers/api/v1/accounts/campaigns_controller.rb @@ -24,11 +24,7 @@ class Api::V1::Accounts::CampaignsController < Api::V1::Accounts::BaseController private def campaign - if instance_variable_defined?(:@campaign) - @campaign - else - @campaign = Current.account.campaigns.find_by(display_id: params[:id]) - end + @campaign ||= Current.account.campaigns.find_by(display_id: params[:id]) end def campaign_params diff --git a/app/controllers/api/v1/accounts/categories_controller.rb b/app/controllers/api/v1/accounts/categories_controller.rb index 66f08e561..834b19ed9 100644 --- a/app/controllers/api/v1/accounts/categories_controller.rb +++ b/app/controllers/api/v1/accounts/categories_controller.rb @@ -39,11 +39,7 @@ class Api::V1::Accounts::CategoriesController < Api::V1::Accounts::BaseControlle end def portal - if instance_variable_defined?(:@portal) - @portal - else - @portal = Current.account.portals.find_by(slug: params[:portal_id]) - end + @portal ||= Current.account.portals.find_by(slug: params[:portal_id]) end def related_categories_records diff --git a/app/controllers/api/v1/accounts/conversations/direct_uploads_controller.rb b/app/controllers/api/v1/accounts/conversations/direct_uploads_controller.rb index bcf4f0fb7..cfc5cba98 100644 --- a/app/controllers/api/v1/accounts/conversations/direct_uploads_controller.rb +++ b/app/controllers/api/v1/accounts/conversations/direct_uploads_controller.rb @@ -13,10 +13,6 @@ class Api::V1::Accounts::Conversations::DirectUploadsController < ActiveStorage: private def conversation - if instance_variable_defined?(:@conversation) - @conversation - else - @conversation = Current.account.conversations.find_by(display_id: params[:conversation_id]) - end + @conversation ||= Current.account.conversations.find_by(display_id: params[:conversation_id]) end end diff --git a/app/controllers/api/v1/accounts/integrations/shopify_controller.rb b/app/controllers/api/v1/accounts/integrations/shopify_controller.rb index e3b116e62..91250f6ea 100644 --- a/app/controllers/api/v1/accounts/integrations/shopify_controller.rb +++ b/app/controllers/api/v1/accounts/integrations/shopify_controller.rb @@ -46,11 +46,7 @@ class Api::V1::Accounts::Integrations::ShopifyController < Api::V1::Accounts::Ba end def contact - if instance_variable_defined?(:@contact) - @contact - else - @contact = Current.account.contacts.find_by(id: params[:contact_id]) - end + @contact ||= Current.account.contacts.find_by(id: params[:contact_id]) end def fetch_hook diff --git a/app/controllers/api/v1/widget/base_controller.rb b/app/controllers/api/v1/widget/base_controller.rb index d6f008a5b..5b87e2d1a 100644 --- a/app/controllers/api/v1/widget/base_controller.rb +++ b/app/controllers/api/v1/widget/base_controller.rb @@ -25,11 +25,7 @@ class Api::V1::Widget::BaseController < ApplicationController end def inbox - if instance_variable_defined?(:@inbox) - @inbox - else - @inbox = ::Inbox.find_by(id: auth_token_params[:inbox_id]) - end + @inbox ||= ::Inbox.find_by(id: auth_token_params[:inbox_id]) end def conversation_params diff --git a/app/services/crm/leadsquared/setup_service.rb b/app/services/crm/leadsquared/setup_service.rb index 849c9dfe8..0433f68fd 100644 --- a/app/services/crm/leadsquared/setup_service.rb +++ b/app/services/crm/leadsquared/setup_service.rb @@ -90,13 +90,13 @@ class Crm::Leadsquared::SetupService [ { name: "#{brand_name} Conversation Started", - score: @hook.settings['conversation_activity_score'].to_i, + score: @hook.settings['conversation_activity_score'].to_i || 0, direction: 0, setting_key: 'conversation_activity_code' }, { name: "#{brand_name} Conversation Transcript", - score: @hook.settings['transcript_activity_score'].to_i, + score: @hook.settings['transcript_activity_score'].to_i || 0, direction: 0, setting_key: 'transcript_activity_code' } diff --git a/app/services/instagram/read_status_service.rb b/app/services/instagram/read_status_service.rb index a27891d3f..42022c01b 100644 --- a/app/services/instagram/read_status_service.rb +++ b/app/services/instagram/read_status_service.rb @@ -14,10 +14,6 @@ class Instagram::ReadStatusService def message return unless params[:read][:mid] - if instance_variable_defined?(:@message) - @message - else - @message = @channel.inbox.messages.find_by(source_id: params[:read][:mid]) - end + @message ||= @channel.inbox.messages.find_by(source_id: params[:read][:mid]) end end diff --git a/app/services/search_service.rb b/app/services/search_service.rb index b099278fa..56c15b2f3 100644 --- a/app/services/search_service.rb +++ b/app/services/search_service.rb @@ -2,11 +2,7 @@ class SearchService pattr_initialize [:current_user!, :current_account!, :params!, :search_type!] def account_user - if instance_variable_defined?(:@account_user) - @account_user - else - @account_user = current_account.account_users.find_by(user: current_user) - end + @account_user ||= current_account.account_users.find_by(user: current_user) end def perform diff --git a/app/services/sms/delivery_status_service.rb b/app/services/sms/delivery_status_service.rb index 7bd10e193..dd071e242 100644 --- a/app/services/sms/delivery_status_service.rb +++ b/app/services/sms/delivery_status_service.rb @@ -47,10 +47,6 @@ class Sms::DeliveryStatusService def message return unless params[:message][:id] - if instance_variable_defined?(:@message) - @message - else - @message = inbox.messages.find_by(source_id: params[:message][:id]) - end + @message ||= inbox.messages.find_by(source_id: params[:message][:id]) end end diff --git a/app/services/twilio/delivery_status_service.rb b/app/services/twilio/delivery_status_service.rb index 5d9254e68..bf8422fcd 100644 --- a/app/services/twilio/delivery_status_service.rb +++ b/app/services/twilio/delivery_status_service.rb @@ -54,10 +54,6 @@ class Twilio::DeliveryStatusService def message return unless params[:MessageSid] - if instance_variable_defined?(:@message) - @message - else - @message = twilio_channel.inbox.messages.find_by(source_id: params[:MessageSid]) - end + @message ||= twilio_channel.inbox.messages.find_by(source_id: params[:MessageSid]) end end diff --git a/enterprise/app/helpers/captain/chat_helper.rb b/enterprise/app/helpers/captain/chat_helper.rb index 9f0d380d5..f90b8d07e 100644 --- a/enterprise/app/helpers/captain/chat_helper.rb +++ b/enterprise/app/helpers/captain/chat_helper.rb @@ -8,7 +8,7 @@ module Captain::ChatHelper messages: @messages, tools: @tool_registry&.registered_tools || [], response_format: { type: 'json_object' }, - temperature: @assistant&.config&.[]('temperature').to_f + temperature: @assistant&.config&.[]('temperature').to_f || 1 } ) diff --git a/enterprise/app/models/enterprise/account/plan_usage_and_limits.rb b/enterprise/app/models/enterprise/account/plan_usage_and_limits.rb index f5789ca5e..ce03efa41 100644 --- a/enterprise/app/models/enterprise/account/plan_usage_and_limits.rb +++ b/enterprise/app/models/enterprise/account/plan_usage_and_limits.rb @@ -16,7 +16,7 @@ module Enterprise::Account::PlanUsageAndLimits end def increment_response_usage - current_usage = custom_attributes[CAPTAIN_RESPONSES_USAGE].to_i + current_usage = custom_attributes[CAPTAIN_RESPONSES_USAGE].to_i || 0 custom_attributes[CAPTAIN_RESPONSES_USAGE] = current_usage + 1 save end @@ -54,9 +54,9 @@ module Enterprise::Account::PlanUsageAndLimits total_count = captain_monthly_limit[type.to_s].to_i consumed = if type == :documents - custom_attributes[CAPTAIN_DOCUMENTS_USAGE].to_i + custom_attributes[CAPTAIN_DOCUMENTS_USAGE].to_i || 0 else - custom_attributes[CAPTAIN_RESPONSES_USAGE].to_i + custom_attributes[CAPTAIN_RESPONSES_USAGE].to_i || 0 end consumed = 0 if consumed.negative? diff --git a/enterprise/app/services/captain/tools/copilot/search_linear_issues_service.rb b/enterprise/app/services/captain/tools/copilot/search_linear_issues_service.rb index d091521c6..0d59e194d 100644 --- a/enterprise/app/services/captain/tools/copilot/search_linear_issues_service.rb +++ b/enterprise/app/services/captain/tools/copilot/search_linear_issues_service.rb @@ -58,7 +58,7 @@ class Captain::Tools::Copilot::SearchLinearIssuesService < Captain::Tools::BaseS State: #{issue['state']['name']} Priority: #{format_priority(issue['priority'])} #{issue['assignee'] ? "Assignee: #{issue['assignee']['name']}" : 'Assignee: Unassigned'} - #{"\nDescription: #{issue['description']}" if issue['description'].present?} + #{issue['description'].present? ? "\nDescription: #{issue['description']}" : ''} ISSUE end diff --git a/lib/integrations/facebook/delivery_status.rb b/lib/integrations/facebook/delivery_status.rb index 512701565..1d6257bba 100644 --- a/lib/integrations/facebook/delivery_status.rb +++ b/lib/integrations/facebook/delivery_status.rb @@ -32,10 +32,6 @@ class Integrations::Facebook::DeliveryStatus end def facebook_channel - if instance_variable_defined?(:@facebook_channel) - @facebook_channel - else - @facebook_channel = Channel::FacebookPage.find_by(page_id: params.recipient_id) - end + @facebook_channel ||= Channel::FacebookPage.find_by(page_id: params.recipient_id) end end diff --git a/lib/integrations/google_translate/processor_service.rb b/lib/integrations/google_translate/processor_service.rb index 7497167e8..33fe56770 100644 --- a/lib/integrations/google_translate/processor_service.rb +++ b/lib/integrations/google_translate/processor_service.rb @@ -61,11 +61,7 @@ class Integrations::GoogleTranslate::ProcessorService end def hook - if instance_variable_defined?(:@hook) - @hook - else - @hook = message.account.hooks.find_by(app_id: 'google_translate') - end + @hook ||= message.account.hooks.find_by(app_id: 'google_translate') end def client diff --git a/lib/integrations/openai_base_service.rb b/lib/integrations/openai_base_service.rb index 5458c484d..f06baf5b5 100644 --- a/lib/integrations/openai_base_service.rb +++ b/lib/integrations/openai_base_service.rb @@ -65,11 +65,7 @@ class Integrations::OpenaiBaseService end def conversation - if instance_variable_defined?(:@conversation) - @conversation - else - @conversation = hook.account.conversations.find_by(display_id: event['data']['conversation_display_id']) - end + @conversation ||= hook.account.conversations.find_by(display_id: event['data']['conversation_display_id']) end def valid_event_name? diff --git a/lib/integrations/slack/incoming_message_builder.rb b/lib/integrations/slack/incoming_message_builder.rb index 51d281285..7eab71eae 100644 --- a/lib/integrations/slack/incoming_message_builder.rb +++ b/lib/integrations/slack/incoming_message_builder.rb @@ -86,11 +86,7 @@ class Integrations::Slack::IncomingMessageBuilder end def integration_hook - if instance_variable_defined?(:@integration_hook) - @integration_hook - else - @integration_hook = Integrations::Hook.find_by(reference_id: params[:event][:channel]) - end + @integration_hook ||= Integrations::Hook.find_by(reference_id: params[:event][:channel]) end def slack_client diff --git a/lib/webhooks/trigger.rb b/lib/webhooks/trigger.rb index 24fab2ffd..41b3a415d 100644 --- a/lib/webhooks/trigger.rb +++ b/lib/webhooks/trigger.rb @@ -48,11 +48,7 @@ class Webhooks::Trigger def message return if message_id.blank? - if instance_variable_defined?(:@message) - @message - else - @message = Message.find_by(id: message_id) - end + @message ||= Message.find_by(id: message_id) end def message_id