Add support for passing in a Logger

This commit is contained in:
Justin Edmund 2025-03-01 05:43:05 -08:00
parent 0d997d6ad5
commit ffbc8d0c1e

View file

@ -35,12 +35,13 @@ module Granblue
# @param verbose [Boolean] When true, enables detailed logging # @param verbose [Boolean] When true, enables detailed logging
# @param storage [Symbol] Storage mode (:local, :s3, or :both) # @param storage [Symbol] Storage mode (:local, :s3, or :both)
# @return [void] # @return [void]
def initialize(id, test_mode: false, verbose: false, storage: :both) def initialize(id, test_mode: false, verbose: false, storage: :both, logger: nil)
@id = id @id = id
@base_url = base_url @base_url = base_url
@test_mode = test_mode @test_mode = test_mode
@verbose = verbose @verbose = verbose
@storage = storage @storage = storage
@logger = logger || Logger.new($stdout) # fallback logger
@aws_service = AwsService.new @aws_service = AwsService.new
ensure_directories_exist unless @test_mode ensure_directories_exist unless @test_mode
end end
@ -132,9 +133,9 @@ module Granblue
download.rewind download.rewind
# Upload to S3 if it doesn't exist # Upload to S3 if it doesn't exist
unless @aws_service.file_exists?(s3_key) return if @aws_service.file_exists?(s3_key)
@aws_service.upload_stream(download, s3_key)
end @aws_service.upload_stream(download, s3_key)
end end
# Check if file should be downloaded based on storage mode # Check if file should be downloaded based on storage mode