Updated

app/models/concerns/deal / broadcastable.rb

B
38 lines of codes
1 methods
36.0 complexity/method
10 churn
35.98 complexity
40 duplications
module Deal::Broadcastable
  1. Deal::Broadcastable has no descriptive comment
extend ActiveSupport::Concern included do after_create_commit do if done == false broadcast_prepend_later_to [contact_id, 'events'], partial: 'accounts/contacts/events/event', target: "events_to_do_#{contact.id}" else broadcast_prepend_later_to [contact_id, 'events'], partial: 'accounts/contacts/events/event', target: "events_done_#{contact.id}" end end def broadcast_events
  1. Deal::Broadcastable#broadcast_events has a flog score of 36
events_to_do = deal.contact.events.to_do.limit(5).to_a
  1. Deal::Broadcastable#broadcast_events calls 'deal.contact' 2 times Locations: 0 1
  2. Deal::Broadcastable#broadcast_events calls 'deal.contact.events' 2 times Locations: 0 1
events_done = deal.contact.events.done.limit(5).to_a
  1. Deal::Broadcastable#broadcast_events calls 'deal.contact' 2 times Locations: 0 1
  2. Deal::Broadcastable#broadcast_events calls 'deal.contact.events' 2 times Locations: 0 1
broadcast_replace_later_to [contact_id, 'events'], target: "events_to_do_#{contact.id}",
  1. Similar code found in 2 nodes Locations: 0 1
  2. Deal::Broadcastable#broadcast_events calls 'contact.id' 2 times Locations: 0 1
partial: 'accounts/contacts/events/events_to_do', locals: { deal: deal, events: events_to_do, pagy: 1 } broadcast_replace_later_to [contact_id, 'events'], target: "events_done_#{contact.id}",
  1. Similar code found in 2 nodes Locations: 0 1
  2. Deal::Broadcastable#broadcast_events calls 'contact.id' 2 times Locations: 0 1
partial: 'accounts/contacts/events/events_done', locals: { deal: deal, events: events_done, pagy: 1 } end after_update_commit do if saved_change_to_done_at? broadcast_events else broadcast_replace_later_to [contact_id, 'events'], partial: 'accounts/contacts/events/event' end end after_destroy_commit do broadcast_remove_to [contact_id, 'events'] end end end