require 'sidekiq' module KYC module Local class TreasuryWorker include Sidekiq::Worker def perform(profile_id) profile = Profile.find_by(id: profile_id) return if profile.blank? || profile.state != 'verified' treasuries = profile.user.submitted_treasuries return unless treasuries.present? treasuries.each do |treasury| jibit = JibitService.new response = treasury.kind == 'iban' ? jibit.iban_info(treasury.data) : jibit.card_info(treasury.data) treasury.update(result: response&.body, state: 'processing') end end end end end