# frozen_string_literal: true class WowItemClassesWorker < WowSidekiqWorker def perform RBattlenet.authenticate(client_id: ENV['BLIZZARD_API_CLIENT_ID'], client_secret: ENV['BLIZZARD_API_CLIENT_SECRET']) RBattlenet.set_options(locale: 'all') result = RBattlenet::Wow::ItemClass.all return unless result.status_code == 200 result.item_classes.each do |item_class| wow_item_class = WowItemClass.find_or_initialize_by(item_class_id: item_class.id) # Localisation data locales.each do |locale| Mobility.with_locale(locale[0]) { wow_item_class.name = item_class.name[locale[1]] } end wow_item_class.save WowItemClassDetailWorker.perform_async(wow_item_class.item_class_id) if wow_item_class.persisted? end end end