Skip to Content Skip to Search
Methods
D
F
N

Class Public methods

new(plan, member)

# File app/services/service/plan_membership_deletor.rb, line 3
def initialize(plan, member)
  @plan = plan
  @member = member
end

Instance Public methods

delete()

# File app/services/service/plan_membership_deletor.rb, line 8
def delete
  fire_events do
    @member.plans.destroy @plan.id
  end
end

fire_events(&block)

# File app/services/service/plan_membership_deletor.rb, line 14
def fire_events(&block)
  planning = DB::Planning.find_by({plan_id: @plan.id,
                                   planable_id: @member.id,
                                   planable_type: "DB::Member"})

  if planning
    EventBus.publish("membership.canceled",
      {member: @member, plan: @plan, planning_id: planning.id})
  end

  block&.call
  EventBus.publish("member.updated", {member: @member})
end