1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-04-18 21:42:16 +00:00

Upgraded to rails 8.0.2, moved from dalli to solid cache, moved from delayed_job to solid queue, and add solid cable. deploy/rails-dev-run.sh no longer needs to chmod. Fixed finished_at callback for matches. Migrated from Devise to built in rails auth. Added view tests for the bracket page testing that all bout numbers render for all matches in each bracket type.

This commit is contained in:
2025-04-08 17:54:42 -04:00
parent 9c25a6cc39
commit 2d433b680a
118 changed files with 4921 additions and 1341 deletions

View File

@@ -0,0 +1,16 @@
class AdvanceWrestlerJob < ApplicationJob
queue_as :default
# Class method for direct execution in test environment
def self.perform_sync(wrestler, match)
# Execute directly on provided objects
service = AdvanceWrestler.new(wrestler, match)
service.advance_raw
end
def perform(wrestler, match)
# Execute the job
service = AdvanceWrestler.new(wrestler, match)
service.advance_raw
end
end

View File

@@ -0,0 +1,7 @@
class ApplicationJob < ActiveJob::Base
# Automatically retry jobs that encountered a deadlock
# retry_on ActiveRecord::Deadlocked
# Most jobs are safe to ignore if the underlying records are no longer available
# discard_on ActiveJob::DeserializationError
end

View File

@@ -0,0 +1,17 @@
class CalculateSchoolScoreJob < ApplicationJob
queue_as :default
# Class method for direct execution in test environment
def self.perform_sync(school)
# Execute directly on provided objects
school.calculate_score_raw
end
def perform(school)
# Log information about the job
Rails.logger.info("Calculating score for school ##{school.id} (#{school.name})")
# Execute the calculation
school.calculate_score_raw
end
end

View File

@@ -0,0 +1,27 @@
class GenerateTournamentMatchesJob < ApplicationJob
queue_as :default
# Class method for direct execution in test environment
def self.perform_sync(tournament)
# Execute directly on provided objects
generator = GenerateTournamentMatches.new(tournament)
generator.generate_raw
end
def perform(tournament)
# Log information about the job
Rails.logger.info("Starting tournament match generation for tournament ##{tournament.id}")
begin
# Execute the job
generator = GenerateTournamentMatches.new(tournament)
generator.generate_raw
Rails.logger.info("Completed tournament match generation for tournament ##{tournament.id}")
rescue => e
Rails.logger.error("Error generating tournament matches: #{e.message}")
Rails.logger.error(e.backtrace.join("\n"))
raise # Re-raise the error so it's properly recorded
end
end
end

View File

@@ -0,0 +1,19 @@
class TournamentBackupJob < ApplicationJob
queue_as :default
# Class method for direct execution in test environment
def self.perform_sync(tournament, reason = nil)
# Execute directly on provided objects
service = TournamentBackupService.new(tournament, reason)
service.create_backup_raw
end
def perform(tournament, reason = nil)
# Log information about the job
Rails.logger.info("Creating backup for tournament ##{tournament.id} (#{tournament.name}), reason: #{reason || 'manual'}")
# Execute the backup
service = TournamentBackupService.new(tournament, reason)
service.create_backup_raw
end
end

View File

@@ -0,0 +1,21 @@
class WrestlingdevImportJob < ApplicationJob
queue_as :default
# Class method for direct execution in test environment
def self.perform_sync(tournament, import_data = nil)
# Execute directly on provided objects
importer = WrestlingdevImporter.new(tournament)
importer.import_data = import_data if import_data
importer.import_raw
end
def perform(tournament, import_data = nil)
# Log information about the job
Rails.logger.info("Starting import for tournament ##{tournament.id} (#{tournament.name})")
# Execute the import
importer = WrestlingdevImporter.new(tournament)
importer.import_data = import_data if import_data
importer.import_raw
end
end