From 6ed5be10dfa20acf7f534f607689d89718ae58c0 Mon Sep 17 00:00:00 2001 From: Etienne Ischer Date: Sun, 30 May 2021 13:58:36 +0200 Subject: [PATCH] update character page --- app/views/wow_characters/index.html.erb | 4 ++-- app/workers/wow_character_detail_worker.rb | 17 +++++++---------- app/workers/wow_items_worker.rb | 8 +++++--- config/locales/wow_characters/de-de.yml | 1 + config/locales/wow_characters/en-gb.yml | 1 + config/locales/wow_characters/en-us.yml | 1 + config/locales/wow_characters/es-es.yml | 1 + config/locales/wow_characters/es-mx.yml | 1 + config/locales/wow_characters/fr-fr.yml | 1 + config/locales/wow_characters/it.yml | 1 + config/locales/wow_characters/ko.yml | 1 + config/locales/wow_characters/pt-br.yml | 1 + config/locales/wow_characters/ru-ru.yml | 1 + config/locales/wow_characters/zh-cn.yml | 1 + config/locales/wow_characters/zh-tw.yml | 1 + 15 files changed, 26 insertions(+), 15 deletions(-) diff --git a/app/views/wow_characters/index.html.erb b/app/views/wow_characters/index.html.erb index 4f3cc41..4132edc 100644 --- a/app/views/wow_characters/index.html.erb +++ b/app/views/wow_characters/index.html.erb @@ -5,7 +5,7 @@ <%= t('wow_characters.character_list.name') %> - <%= t('wow_characters.character_list.gender') %> + <%= t('wow_characters.character_list.guild') %> <%= t('wow_characters.character_list.realm') %> <%= t('wow_characters.character_list.race') %> <%= t('wow_characters.character_list.class') %> @@ -20,7 +20,7 @@ alt="avatar"> <% end %> <%= link_to character.name, character %> - <%= character.translated_gender %> + <%= character.wow_guild&.name %> <%= character.wow_realm.name %> <%= gender_race_name(character.gender, character.wow_race) %> <%= gender_class_name(character.gender, character.wow_class) %> diff --git a/app/workers/wow_character_detail_worker.rb b/app/workers/wow_character_detail_worker.rb index c0ce445..eb53214 100644 --- a/app/workers/wow_character_detail_worker.rb +++ b/app/workers/wow_character_detail_worker.rb @@ -27,16 +27,13 @@ class WowCharacterDetailWorker < WowSidekiqWorker end def find_or_create_wow_guild(guild) - WowGuild.find_by(guild_id: guild.id) - rescue ActiveRecord::RecordNotFound - return unless (wow_realm = WowRealm.find_by(realm_id: guild.realm.id)) + wow_guild = WowGuild.find_or_initialize_by(guild_id: guild.id) - wow_guild = WowGuild.create( - guild_id: guild.id, - name: guild.name, - wow_relam: wow_realm - ) - WowGuildDetailWorker.perform_async(wow_guild.guild_id) - wow_guild + wow_guild.name = guild.name + wow_guild.wow_realm = WowRealm.find_by(realm_id: guild.realm.id) + + wow_guild.save + + wow_guild.persisted? ? wow_guild : nil end end diff --git a/app/workers/wow_items_worker.rb b/app/workers/wow_items_worker.rb index 80fa13c..025ca31 100644 --- a/app/workers/wow_items_worker.rb +++ b/app/workers/wow_items_worker.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class WowItemsWorker < WowSidekiqWorker - def perform(item_id, batch_size) + def perform(item_id, batch_size, keep_going_on) RBattlenet.authenticate(client_id: ENV['BLIZZARD_API_CLIENT_ID'], client_secret: ENV['BLIZZARD_API_CLIENT_SECRET']) RBattlenet.set_options(locale: 'all') @@ -43,8 +43,10 @@ class WowItemsWorker < WowSidekiqWorker wow_item.save end - # Create a new job for the next batch - WowItemsWorker.perform_async(result.results.last.data.id + 1, batch_size) unless result.results.count.zero? + # Create a new job for the next batch if keep_going_on is true + return unless keep_going_on && !result.results.count.zero? + + WowItemsWorker.perform_async(result.results.last.data.id + 1, batch_size, keep_going_on) end private diff --git a/config/locales/wow_characters/de-de.yml b/config/locales/wow_characters/de-de.yml index 23d8569..1ef8cfb 100644 --- a/config/locales/wow_characters/de-de.yml +++ b/config/locales/wow_characters/de-de.yml @@ -8,3 +8,4 @@ de-de: class: "Klasse" faction: "Fraktion" level: "Niveau" + guild: "Gilde" diff --git a/config/locales/wow_characters/en-gb.yml b/config/locales/wow_characters/en-gb.yml index 97d5d7d..eb6cd00 100644 --- a/config/locales/wow_characters/en-gb.yml +++ b/config/locales/wow_characters/en-gb.yml @@ -8,3 +8,4 @@ en-gb: class: "Class" faction: "Faction" level: "Level" + guild: "Guild" diff --git a/config/locales/wow_characters/en-us.yml b/config/locales/wow_characters/en-us.yml index c85716b..f74b54d 100644 --- a/config/locales/wow_characters/en-us.yml +++ b/config/locales/wow_characters/en-us.yml @@ -8,3 +8,4 @@ en-us: class: "Class" faction: "Faction" level: "Level" + guild: "Guild" diff --git a/config/locales/wow_characters/es-es.yml b/config/locales/wow_characters/es-es.yml index 9959218..284ffda 100644 --- a/config/locales/wow_characters/es-es.yml +++ b/config/locales/wow_characters/es-es.yml @@ -8,3 +8,4 @@ es-es: class: "Clase" faction: "Facción" level: "Nivel" + guild: "Gremio" diff --git a/config/locales/wow_characters/es-mx.yml b/config/locales/wow_characters/es-mx.yml index fe30812..69bbbcf 100644 --- a/config/locales/wow_characters/es-mx.yml +++ b/config/locales/wow_characters/es-mx.yml @@ -8,3 +8,4 @@ es-mx: class: "Clase" faction: "Facción" level: "Nivel" + guild: "Gremio" diff --git a/config/locales/wow_characters/fr-fr.yml b/config/locales/wow_characters/fr-fr.yml index bc9d115..1ba8105 100644 --- a/config/locales/wow_characters/fr-fr.yml +++ b/config/locales/wow_characters/fr-fr.yml @@ -8,3 +8,4 @@ fr-fr: class: "Classe" faction: "Faction" level: "Niveau" + guild: "Guilde" diff --git a/config/locales/wow_characters/it.yml b/config/locales/wow_characters/it.yml index 41d798d..2f64726 100644 --- a/config/locales/wow_characters/it.yml +++ b/config/locales/wow_characters/it.yml @@ -8,3 +8,4 @@ it: class: "Classe" faction: "Fazione" level: "Livello" + guild: "Gilda" diff --git a/config/locales/wow_characters/ko.yml b/config/locales/wow_characters/ko.yml index c8819a3..9dca245 100644 --- a/config/locales/wow_characters/ko.yml +++ b/config/locales/wow_characters/ko.yml @@ -8,3 +8,4 @@ ko: class: "수업" faction: "파벌" level: "수평" + guild: "동업 조합" diff --git a/config/locales/wow_characters/pt-br.yml b/config/locales/wow_characters/pt-br.yml index 03b56ab..513c112 100644 --- a/config/locales/wow_characters/pt-br.yml +++ b/config/locales/wow_characters/pt-br.yml @@ -8,3 +8,4 @@ pt-br: class: "Classe" faction: "Facção" level: "Nível" + guild: "Guilda" diff --git a/config/locales/wow_characters/ru-ru.yml b/config/locales/wow_characters/ru-ru.yml index 2bda28f..1250a84 100644 --- a/config/locales/wow_characters/ru-ru.yml +++ b/config/locales/wow_characters/ru-ru.yml @@ -8,3 +8,4 @@ ru-ru: class: "Учебный класс" faction: "Фракция" level: "Уровень" + guild: "Гильдия" diff --git a/config/locales/wow_characters/zh-cn.yml b/config/locales/wow_characters/zh-cn.yml index 10073e4..95b0244 100644 --- a/config/locales/wow_characters/zh-cn.yml +++ b/config/locales/wow_characters/zh-cn.yml @@ -8,3 +8,4 @@ zh-cn: class: "类" faction: "派" level: "水平" + guild: "公会" diff --git a/config/locales/wow_characters/zh-tw.yml b/config/locales/wow_characters/zh-tw.yml index f04abf7..7a45127 100644 --- a/config/locales/wow_characters/zh-tw.yml +++ b/config/locales/wow_characters/zh-tw.yml @@ -8,3 +8,4 @@ zh-tw: class: "类" faction: "派" level: "水平" + guild: "公会"