diff --git a/.rubocop.yml b/.rubocop.yml index f5bd36e..4ef8994 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -13,6 +13,7 @@ AllCops: - 'config/initializers/*.rb' - 'config/environments/*.rb' - 'config/*.rb' + - 'node_modules/**/*' NewCops: enable Layout/LineLength: diff --git a/app/channels/application_cable/channel.rb b/app/channels/application_cable/channel.rb index d672697..9aec230 100644 --- a/app/channels/application_cable/channel.rb +++ b/app/channels/application_cable/channel.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ApplicationCable class Channel < ActionCable::Channel::Base end diff --git a/app/channels/application_cable/connection.rb b/app/channels/application_cable/connection.rb index 0ff5442..8d6c2a1 100644 --- a/app/channels/application_cable/connection.rb +++ b/app/channels/application_cable/connection.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ApplicationCable class Connection < ActionCable::Connection::Base end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 98b53bb..2f96a19 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class ApplicationController < ActionController::Base around_action :switch_locale diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 95f2992..a0ac1f8 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -1,4 +1,5 @@ +# frozen_string_literal: true + class HomeController < ApplicationController - def index - end + def index; end end diff --git a/app/controllers/protected_controller.rb b/app/controllers/protected_controller.rb index 9b940fd..8c77cbe 100644 --- a/app/controllers/protected_controller.rb +++ b/app/controllers/protected_controller.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class ProtectedController < ApplicationController before_action :authenticate_user! include Pagy::Backend diff --git a/app/controllers/users/omniauth_callbacks_controller.rb b/app/controllers/users/omniauth_callbacks_controller.rb index 1987428..3c14bff 100644 --- a/app/controllers/users/omniauth_callbacks_controller.rb +++ b/app/controllers/users/omniauth_callbacks_controller.rb @@ -3,25 +3,27 @@ # Controller: Callback # # Description: Callback method for Bnet -class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController - skip_before_action :verify_authenticity_token, only: :bnet +module Users + class OmniauthCallbacksController < Devise::OmniauthCallbacksController + skip_before_action :verify_authenticity_token, only: :bnet - def bnet - @user = User.from_omniauth(request.env['omniauth.auth']) + def bnet + @user = User.from_omniauth(request.env['omniauth.auth']) - if @user.persisted? - sign_in_and_redirect @user, event: :authentication - WowCharactersWorker.perform_async(@user.id) - WowMountsCollectionWorker.perform_async(@user.id) - WowPetsCollectionWorker.perform_async(@user.id) - set_flash_message(:notice, :success, kind: 'Bnet') if is_navigational_format? - else - session['devise.bnet_data'] = request.env['omniauth.auth'].except(:extra) - redirect_to new_user_registration_url + if @user.persisted? + sign_in_and_redirect @user, event: :authentication + WowCharactersWorker.perform_async(@user.id) + WowMountsCollectionWorker.perform_async(@user.id) + WowPetsCollectionWorker.perform_async(@user.id) + set_flash_message(:notice, :success, kind: 'Bnet') if is_navigational_format? + else + session['devise.bnet_data'] = request.env['omniauth.auth'].except(:extra) + redirect_to new_user_registration_url + end + end + + def failure + redirect_to root_path end end - - def failure - redirect_to root_path - end end diff --git a/app/controllers/wow_characters_controller.rb b/app/controllers/wow_characters_controller.rb index 056b5b8..a0fbf15 100644 --- a/app/controllers/wow_characters_controller.rb +++ b/app/controllers/wow_characters_controller.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowCharactersController < ProtectedController def index @wow_characters = current_user.wow_characters.all diff --git a/app/controllers/wow_mounts_controller.rb b/app/controllers/wow_mounts_controller.rb index 510b088..457421f 100644 --- a/app/controllers/wow_mounts_controller.rb +++ b/app/controllers/wow_mounts_controller.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowMountsController < ProtectedController def index @pagy, @wow_mounts = pagy(WowMount.all, items: 12) diff --git a/app/controllers/wow_pets_controller.rb b/app/controllers/wow_pets_controller.rb index 8f3d1ca..1691645 100644 --- a/app/controllers/wow_pets_controller.rb +++ b/app/controllers/wow_pets_controller.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowPetsController < ProtectedController def index @pagy, @wow_pets = pagy(WowPet.all, items: 12) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index ed6a048..0e0edb4 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module ApplicationHelper include Pagy::Frontend end diff --git a/app/helpers/characters_helper.rb b/app/helpers/characters_helper.rb index 8acbd18..c21fbc9 100644 --- a/app/helpers/characters_helper.rb +++ b/app/helpers/characters_helper.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + module CharactersHelper end diff --git a/app/helpers/home_helper.rb b/app/helpers/home_helper.rb index 23de56a..0362095 100644 --- a/app/helpers/home_helper.rb +++ b/app/helpers/home_helper.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + module HomeHelper end diff --git a/app/helpers/protected_helper.rb b/app/helpers/protected_helper.rb index 12b7e1c..2614461 100644 --- a/app/helpers/protected_helper.rb +++ b/app/helpers/protected_helper.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + module ProtectedHelper end diff --git a/app/helpers/welcome_helper.rb b/app/helpers/welcome_helper.rb index eeead45..4ada0f4 100644 --- a/app/helpers/welcome_helper.rb +++ b/app/helpers/welcome_helper.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + module WelcomeHelper end diff --git a/app/helpers/wow_mounts_helper.rb b/app/helpers/wow_mounts_helper.rb index 7e20ab6..33339fa 100644 --- a/app/helpers/wow_mounts_helper.rb +++ b/app/helpers/wow_mounts_helper.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + module WowMountsHelper end diff --git a/app/helpers/wow_pets_helper.rb b/app/helpers/wow_pets_helper.rb index 5fe264a..cbf0494 100644 --- a/app/helpers/wow_pets_helper.rb +++ b/app/helpers/wow_pets_helper.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + module WowPetsHelper end diff --git a/app/jobs/application_job.rb b/app/jobs/application_job.rb index d394c3d..bef3959 100644 --- a/app/jobs/application_job.rb +++ b/app/jobs/application_job.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class ApplicationJob < ActiveJob::Base # Automatically retry jobs that encountered a deadlock # retry_on ActiveRecord::Deadlocked diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb index 286b223..d84cb6e 100644 --- a/app/mailers/application_mailer.rb +++ b/app/mailers/application_mailer.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class ApplicationMailer < ActionMailer::Base default from: 'from@example.com' layout 'mailer' diff --git a/app/models/application_record.rb b/app/models/application_record.rb index 10a4cba..71fbba5 100644 --- a/app/models/application_record.rb +++ b/app/models/application_record.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class ApplicationRecord < ActiveRecord::Base self.abstract_class = true end diff --git a/app/models/learned_wow_pet_ability.rb b/app/models/learned_wow_pet_ability.rb index cf9bc33..0e67fc3 100644 --- a/app/models/learned_wow_pet_ability.rb +++ b/app/models/learned_wow_pet_ability.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class LearnedWowPetAbility < ApplicationRecord belongs_to :wow_pet belongs_to :wow_pet_ability diff --git a/app/models/user_obtain_wow_mount.rb b/app/models/user_obtain_wow_mount.rb index 7702db6..5491906 100644 --- a/app/models/user_obtain_wow_mount.rb +++ b/app/models/user_obtain_wow_mount.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class UserObtainWowMount < ApplicationRecord belongs_to :user belongs_to :wow_mount diff --git a/app/models/user_obtain_wow_pet.rb b/app/models/user_obtain_wow_pet.rb index 906d8ad..a9dfa4a 100644 --- a/app/models/user_obtain_wow_pet.rb +++ b/app/models/user_obtain_wow_pet.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class UserObtainWowPet < ApplicationRecord belongs_to :user belongs_to :wow_pet diff --git a/app/models/wow_character.rb b/app/models/wow_character.rb index 57aa821..85023ae 100644 --- a/app/models/wow_character.rb +++ b/app/models/wow_character.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowCharacter < ApplicationRecord extend Mobility translates :translated_faction, :translated_gender diff --git a/app/models/wow_character_medium.rb b/app/models/wow_character_medium.rb index 7cbeb2b..900c78d 100644 --- a/app/models/wow_character_medium.rb +++ b/app/models/wow_character_medium.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowCharacterMedium < ApplicationRecord belongs_to :wow_character end diff --git a/app/models/wow_character_title.rb b/app/models/wow_character_title.rb index 946d148..4c3be1b 100644 --- a/app/models/wow_character_title.rb +++ b/app/models/wow_character_title.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowCharacterTitle < ApplicationRecord extend Mobility translates :name, :male_name, :female_name diff --git a/app/models/wow_class.rb b/app/models/wow_class.rb index 3dc09ef..d869598 100644 --- a/app/models/wow_class.rb +++ b/app/models/wow_class.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowClass < ApplicationRecord extend Mobility translates :name, :power_type, :male_name, :female_name diff --git a/app/models/wow_mount.rb b/app/models/wow_mount.rb index bc3940b..5883d66 100644 --- a/app/models/wow_mount.rb +++ b/app/models/wow_mount.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowMount < ApplicationRecord extend Mobility translates :name, :description, :translated_faction, :translated_source diff --git a/app/models/wow_pet.rb b/app/models/wow_pet.rb index 9ede46b..c7b5fad 100644 --- a/app/models/wow_pet.rb +++ b/app/models/wow_pet.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowPet < ApplicationRecord extend Mobility translates :name, :translated_battle_pet_type, :description, :translated_source_type diff --git a/app/models/wow_pet_ability.rb b/app/models/wow_pet_ability.rb index de546c8..db5ecb2 100644 --- a/app/models/wow_pet_ability.rb +++ b/app/models/wow_pet_ability.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowPetAbility < ApplicationRecord extend Mobility translates :name, :translated_battle_pet_type diff --git a/app/models/wow_race.rb b/app/models/wow_race.rb index bf3b3c1..c9444c6 100644 --- a/app/models/wow_race.rb +++ b/app/models/wow_race.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowRace < ApplicationRecord extend Mobility translates :name, :translated_faction, :male_name, :female_name diff --git a/app/models/wow_realm.rb b/app/models/wow_realm.rb index 0f1c9af..5199883 100644 --- a/app/models/wow_realm.rb +++ b/app/models/wow_realm.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowRealm < ApplicationRecord extend Mobility translates :name, :category, :realm_type diff --git a/app/workers/wow_character_detail_worker.rb b/app/workers/wow_character_detail_worker.rb index ce98074..164e0ea 100644 --- a/app/workers/wow_character_detail_worker.rb +++ b/app/workers/wow_character_detail_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowCharacterDetailWorker include Sidekiq::Worker diff --git a/app/workers/wow_character_media_worker.rb b/app/workers/wow_character_media_worker.rb index 888b956..0c4a500 100644 --- a/app/workers/wow_character_media_worker.rb +++ b/app/workers/wow_character_media_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowCharacterMediaWorker include Sidekiq::Worker diff --git a/app/workers/wow_character_title_detail_worker.rb b/app/workers/wow_character_title_detail_worker.rb index d5b31a5..855ac06 100644 --- a/app/workers/wow_character_title_detail_worker.rb +++ b/app/workers/wow_character_title_detail_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowCharacterTitleDetailWorker include Sidekiq::Worker diff --git a/app/workers/wow_character_titles_worker.rb b/app/workers/wow_character_titles_worker.rb index 340450e..e897b42 100644 --- a/app/workers/wow_character_titles_worker.rb +++ b/app/workers/wow_character_titles_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowCharacterTitlesWorker include Sidekiq::Worker diff --git a/app/workers/wow_characters_worker.rb b/app/workers/wow_characters_worker.rb index 1c25ace..acaebcc 100644 --- a/app/workers/wow_characters_worker.rb +++ b/app/workers/wow_characters_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowCharactersWorker include Sidekiq::Worker diff --git a/app/workers/wow_class_detail_worker.rb b/app/workers/wow_class_detail_worker.rb index eca5ffa..c3ce244 100644 --- a/app/workers/wow_class_detail_worker.rb +++ b/app/workers/wow_class_detail_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowClassDetailWorker include Sidekiq::Worker diff --git a/app/workers/wow_classes_worker.rb b/app/workers/wow_classes_worker.rb index fb00eda..5aaa14b 100644 --- a/app/workers/wow_classes_worker.rb +++ b/app/workers/wow_classes_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowClassesWorker include Sidekiq::Worker diff --git a/app/workers/wow_mount_detail_worker.rb b/app/workers/wow_mount_detail_worker.rb index ebcdea4..c52551c 100644 --- a/app/workers/wow_mount_detail_worker.rb +++ b/app/workers/wow_mount_detail_worker.rb @@ -1,8 +1,6 @@ -class WowMountDetailWorker < WowSidekiqWorker - def locales - super - end +# frozen_string_literal: true +class WowMountDetailWorker < WowSidekiqWorker def perform(mount_id) return unless (mount = WowMount.where(mount_id: mount_id).first) diff --git a/app/workers/wow_mounts_collection_worker.rb b/app/workers/wow_mounts_collection_worker.rb index 1869ec8..330ea80 100644 --- a/app/workers/wow_mounts_collection_worker.rb +++ b/app/workers/wow_mounts_collection_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowMountsCollectionWorker include Sidekiq::Worker diff --git a/app/workers/wow_mounts_worker.rb b/app/workers/wow_mounts_worker.rb index 8d4c0d2..5c7a571 100644 --- a/app/workers/wow_mounts_worker.rb +++ b/app/workers/wow_mounts_worker.rb @@ -1,8 +1,6 @@ -class WowMountsWorker < WowSidekiqWorker - def locales - super - end +# frozen_string_literal: true +class WowMountsWorker < WowSidekiqWorker def perform RBattlenet.authenticate(client_id: ENV['BLIZZARD_API_CLIENT_ID'], client_secret: ENV['BLIZZARD_API_CLIENT_SECRET']) RBattlenet.set_options(locale: 'all') diff --git a/app/workers/wow_pet_abilities_worker.rb b/app/workers/wow_pet_abilities_worker.rb index dd54ede..45ca046 100644 --- a/app/workers/wow_pet_abilities_worker.rb +++ b/app/workers/wow_pet_abilities_worker.rb @@ -1,8 +1,6 @@ -class WowPetAbilitiesWorker < WowSidekiqWorker - def locales - super - end +# frozen_string_literal: true +class WowPetAbilitiesWorker < WowSidekiqWorker def perform RBattlenet.authenticate(client_id: ENV['BLIZZARD_API_CLIENT_ID'], client_secret: ENV['BLIZZARD_API_CLIENT_SECRET']) RBattlenet.set_options(locale: 'all') diff --git a/app/workers/wow_pet_ability_detail_worker.rb b/app/workers/wow_pet_ability_detail_worker.rb index a2d56ee..f1879d0 100644 --- a/app/workers/wow_pet_ability_detail_worker.rb +++ b/app/workers/wow_pet_ability_detail_worker.rb @@ -1,10 +1,7 @@ +# frozen_string_literal: true + class WowPetAbilityDetailWorker < WowSidekiqWorker - def locales - super - end - def perform(ability_id) - return unless (ability = WowPetAbility.where(ability_id: ability_id).first) RBattlenet.set_options(locale: 'all') diff --git a/app/workers/wow_pet_detail_worker.rb b/app/workers/wow_pet_detail_worker.rb index 688dd9b..6b40945 100644 --- a/app/workers/wow_pet_detail_worker.rb +++ b/app/workers/wow_pet_detail_worker.rb @@ -1,10 +1,7 @@ +# frozen_string_literal: true + class WowPetDetailWorker < WowSidekiqWorker - def locales - super - end - def perform(pet_id) - return unless (pet = WowPet.where(pet_id: pet_id).first) RBattlenet.set_options(locale: 'all') @@ -39,12 +36,10 @@ class WowPetDetailWorker < WowSidekiqWorker creature_media = RBattlenet::Wow::CreatureMedia.find(pet.creature_display_id) pet.media_zoom_url = creature_media.assets.first.value if creature_media.status_code == 200 - if result.abilities - result.abilities.each do |ability| - next unless (local_ability = WowPetAbility.where(ability_id: ability.ability.id).first) + result.abilities&.each do |ability| + next unless (local_ability = WowPetAbility.where(ability_id: ability.ability.id).first) - LearnedWowPetAbility.where(wow_pet: pet.id, wow_pet_ability: local_ability.id).first_or_create - end + LearnedWowPetAbility.where(wow_pet: pet.id, wow_pet_ability: local_ability.id).first_or_create end pet.save diff --git a/app/workers/wow_pets_collection_worker.rb b/app/workers/wow_pets_collection_worker.rb index 123c3c9..122c818 100644 --- a/app/workers/wow_pets_collection_worker.rb +++ b/app/workers/wow_pets_collection_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowPetsCollectionWorker include Sidekiq::Worker diff --git a/app/workers/wow_pets_worker.rb b/app/workers/wow_pets_worker.rb index 8dc5305..c69c46b 100644 --- a/app/workers/wow_pets_worker.rb +++ b/app/workers/wow_pets_worker.rb @@ -1,8 +1,6 @@ -class WowPetsWorker < WowSidekiqWorker - def locales - super - end +# frozen_string_literal: true +class WowPetsWorker < WowSidekiqWorker def perform RBattlenet.authenticate(client_id: ENV['BLIZZARD_API_CLIENT_ID'], client_secret: ENV['BLIZZARD_API_CLIENT_SECRET']) RBattlenet.set_options(locale: 'all') diff --git a/app/workers/wow_race_detail_worker.rb b/app/workers/wow_race_detail_worker.rb index 5eafac9..04b521b 100644 --- a/app/workers/wow_race_detail_worker.rb +++ b/app/workers/wow_race_detail_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowRaceDetailWorker include Sidekiq::Worker diff --git a/app/workers/wow_races_worker.rb b/app/workers/wow_races_worker.rb index 70a0b90..8ad170b 100644 --- a/app/workers/wow_races_worker.rb +++ b/app/workers/wow_races_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowRacesWorker include Sidekiq::Worker diff --git a/app/workers/wow_realm_detail_worker.rb b/app/workers/wow_realm_detail_worker.rb index e14d554..6228670 100644 --- a/app/workers/wow_realm_detail_worker.rb +++ b/app/workers/wow_realm_detail_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowRealmDetailWorker include Sidekiq::Worker diff --git a/app/workers/wow_realms_worker.rb b/app/workers/wow_realms_worker.rb index bbe122d..84ed870 100644 --- a/app/workers/wow_realms_worker.rb +++ b/app/workers/wow_realms_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowRealmsWorker include Sidekiq::Worker diff --git a/app/workers/wow_sidekiq_worker.rb b/app/workers/wow_sidekiq_worker.rb index d20e647..49cbc96 100644 --- a/app/workers/wow_sidekiq_worker.rb +++ b/app/workers/wow_sidekiq_worker.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class WowSidekiqWorker include Sidekiq::Worker diff --git a/config.ru b/config.ru index ad1fbf2..6dc8321 100644 --- a/config.ru +++ b/config.ru @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # This file is used by Rack-based servers to start the application. require_relative 'config/environment' diff --git a/db/seeds.rb b/db/seeds.rb index f3a0480..c8c1b75 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -1,3 +1,4 @@ +# frozen_string_literal: true # This file should contain all the record creation needed to seed the database with its default values. # The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup). #