From 4ee65aecd30f71e801399bd6e452d6c5d3057904 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 22 Jan 2023 22:25:02 -0800 Subject: [PATCH] Add Rake task for creating a list of Job icon URLs --- lib/tasks/export_all.rake | 6 +++++- lib/tasks/export_job.rake | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 lib/tasks/export_job.rake diff --git a/lib/tasks/export_all.rake b/lib/tasks/export_all.rake index 80198be..1af2841 100644 --- a/lib/tasks/export_all.rake +++ b/lib/tasks/export_all.rake @@ -32,7 +32,11 @@ namespace :granblue do Rake::Task['granblue:export:summon'].invoke('square') Rake::Task['granblue:export:summon'].reenable - puts 'Exported 9 files' + # Run job tasks + Rake::Task['granblue:export:job'].invoke + Rake::Task['granblue:export:job'].reenable + + puts 'Exported 10 files' end end end diff --git a/lib/tasks/export_job.rake b/lib/tasks/export_job.rake new file mode 100644 index 0000000..87bdb4d --- /dev/null +++ b/lib/tasks/export_job.rake @@ -0,0 +1,33 @@ +namespace :granblue do + namespace :export do + def build_job_icon_url(id) + # Set up URL + base_url = 'https://prd-game-a-granbluefantasy.akamaized.net/assets_en/img/sp/ui/icon/job' + extension = '.png' + + "#{base_url}/#{id}#{extension}" + end + + desc 'Exports a list of weapon URLs for a given size' + task :job do |_t, _args| + # Include weapon model + Dir.glob("#{Rails.root}/app/models/job.rb").each { |file| require file } + + # Set up filepath + dir = "#{Rails.root}/export/" + filename = "#{dir}/job-icon.txt" + FileUtils.mkdir(dir) unless Dir.exist?(dir) + + # Write to file + File.open(filename, 'w') do |f| + Job.all.each do |w| + f.write("#{build_job_icon_url(w.granblue_id.to_s)} \n") + end + end + + # CLI output + count = `wc -l #{filename}`.split.first.to_i + puts "Wrote #{count} job URLs for icon size" + end + end +end