From 54948e4435364cc7368030586f942eebf06de528 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 22 Jan 2023 21:56:08 -0800 Subject: [PATCH 1/4] Add slug to Jobs table --- db/migrate/20230123055508_add_slug_to_jobs.rb | 5 +++++ db/schema.rb | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20230123055508_add_slug_to_jobs.rb diff --git a/db/migrate/20230123055508_add_slug_to_jobs.rb b/db/migrate/20230123055508_add_slug_to_jobs.rb new file mode 100644 index 0000000..cfc731d --- /dev/null +++ b/db/migrate/20230123055508_add_slug_to_jobs.rb @@ -0,0 +1,5 @@ +class AddSlugToJobs < ActiveRecord::Migration[7.0] + def change + add_column :jobs, :slug, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index 28c80a7..a3787e4 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2023_01_23_035602) do +ActiveRecord::Schema[7.0].define(version: 2023_01_23_055508) do # These are extensions that must be enabled in order to support this database enable_extension "btree_gin" enable_extension "pg_trgm" @@ -137,6 +137,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_23_035602) do t.boolean "ml", default: false t.integer "order" t.uuid "base_job_id" + t.string "slug" t.index ["base_job_id"], name: "index_jobs_on_base_job_id" end From 67146e3ab38a15fec42fa1500fd878c801117eb7 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 22 Jan 2023 21:59:43 -0800 Subject: [PATCH 2/4] Add Granblue ID instead of slug --- db/migrate/20230123055508_add_granblue_id_to_jobs.rb | 5 +++++ db/migrate/20230123055508_add_slug_to_jobs.rb | 5 ----- db/schema.rb | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 db/migrate/20230123055508_add_granblue_id_to_jobs.rb delete mode 100644 db/migrate/20230123055508_add_slug_to_jobs.rb diff --git a/db/migrate/20230123055508_add_granblue_id_to_jobs.rb b/db/migrate/20230123055508_add_granblue_id_to_jobs.rb new file mode 100644 index 0000000..6cf8764 --- /dev/null +++ b/db/migrate/20230123055508_add_granblue_id_to_jobs.rb @@ -0,0 +1,5 @@ +class AddGranblueIdToJobs < ActiveRecord::Migration[7.0] + def change + add_column :jobs, :granblue_id, :string + end +end diff --git a/db/migrate/20230123055508_add_slug_to_jobs.rb b/db/migrate/20230123055508_add_slug_to_jobs.rb deleted file mode 100644 index cfc731d..0000000 --- a/db/migrate/20230123055508_add_slug_to_jobs.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddSlugToJobs < ActiveRecord::Migration[7.0] - def change - add_column :jobs, :slug, :string - end -end diff --git a/db/schema.rb b/db/schema.rb index a3787e4..27a45bc 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -137,7 +137,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_23_055508) do t.boolean "ml", default: false t.integer "order" t.uuid "base_job_id" - t.string "slug" + t.string "granblue_id" t.index ["base_job_id"], name: "index_jobs_on_base_job_id" end From 4ee65aecd30f71e801399bd6e452d6c5d3057904 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 22 Jan 2023 22:25:02 -0800 Subject: [PATCH 3/4] 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 From ed76afe44c3c519cb54af16e1f766f37106e184a Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 22 Jan 2023 22:31:25 -0800 Subject: [PATCH 4/4] Add granblue_id to Job output --- app/blueprints/api/v1/job_blueprint.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/blueprints/api/v1/job_blueprint.rb b/app/blueprints/api/v1/job_blueprint.rb index 319a62b..43fabec 100644 --- a/app/blueprints/api/v1/job_blueprint.rb +++ b/app/blueprints/api/v1/job_blueprint.rb @@ -17,7 +17,7 @@ module Api ] end - fields :row, :ml, :order + fields :granblue_id, :row, :ml, :order end end end