# frozen_string_literal: true #import statements fix Circular dependancy errors due to threading import OrgDateRangeable import StatSharedPlan import StatSharedPlan::CreateOrUpdate import User import Role class Org class CreateSharedPlanService class << self def call(org = nil, threads: 0) orgs = org.nil? ? Org.all : [org] Parallel.each(orgs, in_threads: threads) do |org| OrgDateRangeable.split_months_from_creation(org) do |start_date, end_date| StatSharedPlan::CreateOrUpdate.do( start_date: start_date, end_date: end_date, org: org ) end end end end end end