diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2017-09-30 08:23:48 -0400 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2017-09-30 08:23:48 -0400 |
commit | a7060addea52af313ed85336dc37949ad8e69f05 (patch) | |
tree | e2a65669c9f30788c22635800180f5393c9ec49c /app | |
parent | 6dff23b065bd933ff2f571d2264c86902173d40b (diff) | |
download | pokeviewer-a7060addea52af313ed85336dc37949ad8e69f05.tar.gz pokeviewer-a7060addea52af313ed85336dc37949ad8e69f05.tar.bz2 pokeviewer-a7060addea52af313ed85336dc37949ad8e69f05.zip |
Added gift ribbon descriptions
This is basically just for completeness because it is unknown whether gift ribbons other than the National Ribbon and Earth Ribbon from Pokémon Colosseum were ever distributed.
Diffstat (limited to 'app')
-rw-r--r-- | app/jobs/pokeviewer/extract_save_data_job.rb | 30 | ||||
-rw-r--r-- | app/models/pokeviewer/gift_ribbon.rb | 5 | ||||
-rw-r--r-- | app/models/pokeviewer/revision.rb | 14 | ||||
-rw-r--r-- | app/models/pokeviewer/trainer.rb | 18 |
4 files changed, 60 insertions, 7 deletions
diff --git a/app/jobs/pokeviewer/extract_save_data_job.rb b/app/jobs/pokeviewer/extract_save_data_job.rb index f7b8f8f..b60a8c5 100644 --- a/app/jobs/pokeviewer/extract_save_data_job.rb +++ b/app/jobs/pokeviewer/extract_save_data_job.rb | |||
@@ -22,6 +22,36 @@ module Pokeviewer | |||
22 | end | 22 | end |
23 | end | 23 | end |
24 | 24 | ||
25 | if args.key? "marineRibbon" | ||
26 | game.marine_ribbon = GiftRibbon.find_by_id(args["marineRibbon"]) | ||
27 | end | ||
28 | |||
29 | if args.key? "landRibbon" | ||
30 | game.land_ribbon = GiftRibbon.find_by_id(args["landRibbon"]) | ||
31 | end | ||
32 | |||
33 | if args.key? "skyRibbon" | ||
34 | game.sky_ribbon = GiftRibbon.find_by_id(args["skyRibbon"]) | ||
35 | end | ||
36 | |||
37 | if args.key? "countryRibbon" | ||
38 | game.country_ribbon = GiftRibbon.find_by_id(args["countryRibbon"]) | ||
39 | end | ||
40 | |||
41 | if args.key? "nationalRibbon" | ||
42 | game.national_ribbon = GiftRibbon.find_by_id(args["nationalRibbon"]) | ||
43 | end | ||
44 | |||
45 | if args.key? "earthRibbon" | ||
46 | game.earth_ribbon = GiftRibbon.find_by_id(args["earthRibbon"]) | ||
47 | end | ||
48 | |||
49 | if args.key? "worldRibbon" | ||
50 | game.world_ribbon = GiftRibbon.find_by_id(args["worldRibbon"]) | ||
51 | end | ||
52 | |||
53 | game.save! if game.changed? | ||
54 | |||
25 | args["boxes"].each_with_index do |box_name,index| | 55 | args["boxes"].each_with_index do |box_name,index| |
26 | box = Box.find_or_initialize_by(trainer: game, number: index) | 56 | box = Box.find_or_initialize_by(trainer: game, number: index) |
27 | box.name = box_name | 57 | box.name = box_name |
diff --git a/app/models/pokeviewer/gift_ribbon.rb b/app/models/pokeviewer/gift_ribbon.rb new file mode 100644 index 0000000..f8f4fa5 --- /dev/null +++ b/app/models/pokeviewer/gift_ribbon.rb | |||
@@ -0,0 +1,5 @@ | |||
1 | module Pokeviewer | ||
2 | class GiftRibbon < ApplicationRecord | ||
3 | validates :description, presence: true | ||
4 | end | ||
5 | end | ||
diff --git a/app/models/pokeviewer/revision.rb b/app/models/pokeviewer/revision.rb index 4481bf0..ab4dfd3 100644 --- a/app/models/pokeviewer/revision.rb +++ b/app/models/pokeviewer/revision.rb | |||
@@ -345,7 +345,7 @@ module Pokeviewer | |||
345 | result << { | 345 | result << { |
346 | filename: "marine-ribbon.png", | 346 | filename: "marine-ribbon.png", |
347 | name: "Marine Ribbon", | 347 | name: "Marine Ribbon", |
348 | description: "" | 348 | description: pokemon.trainer.gift_ribbon_description(:marine_ribbon) |
349 | } | 349 | } |
350 | end | 350 | end |
351 | 351 | ||
@@ -353,7 +353,7 @@ module Pokeviewer | |||
353 | result << { | 353 | result << { |
354 | filename: "land-ribbon.png", | 354 | filename: "land-ribbon.png", |
355 | name: "Land Ribbon", | 355 | name: "Land Ribbon", |
356 | description: "" | 356 | description: pokemon.trainer.gift_ribbon_description(:land_ribbon) |
357 | } | 357 | } |
358 | end | 358 | end |
359 | 359 | ||
@@ -361,7 +361,7 @@ module Pokeviewer | |||
361 | result << { | 361 | result << { |
362 | filename: "sky-ribbon.png", | 362 | filename: "sky-ribbon.png", |
363 | name: "Sky Ribbon", | 363 | name: "Sky Ribbon", |
364 | description: "" | 364 | description: pokemon.trainer.gift_ribbon_description(:sky_ribbon) |
365 | } | 365 | } |
366 | end | 366 | end |
367 | 367 | ||
@@ -369,7 +369,7 @@ module Pokeviewer | |||
369 | result << { | 369 | result << { |
370 | filename: "country-ribbon.png", | 370 | filename: "country-ribbon.png", |
371 | name: "Country Ribbon", | 371 | name: "Country Ribbon", |
372 | description: "" | 372 | description: pokemon.trainer.gift_ribbon_description(:country_ribbon) |
373 | } | 373 | } |
374 | end | 374 | end |
375 | 375 | ||
@@ -377,7 +377,7 @@ module Pokeviewer | |||
377 | result << { | 377 | result << { |
378 | filename: "national-ribbon.png", | 378 | filename: "national-ribbon.png", |
379 | name: "National Ribbon", | 379 | name: "National Ribbon", |
380 | description: "" | 380 | description: pokemon.trainer.gift_ribbon_description(:national_ribbon) |
381 | } | 381 | } |
382 | end | 382 | end |
383 | 383 | ||
@@ -385,7 +385,7 @@ module Pokeviewer | |||
385 | result << { | 385 | result << { |
386 | filename: "earth-ribbon.png", | 386 | filename: "earth-ribbon.png", |
387 | name: "Earth Ribbon", | 387 | name: "Earth Ribbon", |
388 | description: "" | 388 | description: pokemon.trainer.gift_ribbon_description(:earth_ribbon) |
389 | } | 389 | } |
390 | end | 390 | end |
391 | 391 | ||
@@ -393,7 +393,7 @@ module Pokeviewer | |||
393 | result << { | 393 | result << { |
394 | filename: "world-ribbon.png", | 394 | filename: "world-ribbon.png", |
395 | name: "World Ribbon", | 395 | name: "World Ribbon", |
396 | description: "" | 396 | description: pokemon.trainer.gift_ribbon_description(:world_ribbon) |
397 | } | 397 | } |
398 | end | 398 | end |
399 | 399 | ||
diff --git a/app/models/pokeviewer/trainer.rb b/app/models/pokeviewer/trainer.rb index f890d61..7862c1e 100644 --- a/app/models/pokeviewer/trainer.rb +++ b/app/models/pokeviewer/trainer.rb | |||
@@ -16,6 +16,14 @@ module Pokeviewer | |||
16 | enumerize :game, in: [:ruby, :sapphire, :firered, :leafgreen, :emerald], | 16 | enumerize :game, in: [:ruby, :sapphire, :firered, :leafgreen, :emerald], |
17 | predicates: true | 17 | predicates: true |
18 | 18 | ||
19 | belongs_to :marine_ribbon, class_name: "GiftRibbon", optional: true | ||
20 | belongs_to :land_ribbon, class_name: "GiftRibbon", optional: true | ||
21 | belongs_to :sky_ribbon, class_name: "GiftRibbon", optional: true | ||
22 | belongs_to :country_ribbon, class_name: "GiftRibbon", optional: true | ||
23 | belongs_to :national_ribbon, class_name: "GiftRibbon", optional: true | ||
24 | belongs_to :earth_ribbon, class_name: "GiftRibbon", optional: true | ||
25 | belongs_to :world_ribbon, class_name: "GiftRibbon", optional: true | ||
26 | |||
19 | def display_number | 27 | def display_number |
20 | number.to_s.rjust(5, '0') | 28 | number.to_s.rjust(5, '0') |
21 | end | 29 | end |
@@ -23,5 +31,15 @@ module Pokeviewer | |||
23 | def party | 31 | def party |
24 | pokemon.where(box: nil).order("slot ASC") | 32 | pokemon.where(box: nil).order("slot ASC") |
25 | end | 33 | end |
34 | |||
35 | def gift_ribbon_description(ribbon) | ||
36 | gift_ribbon = send ribbon | ||
37 | |||
38 | if gift_ribbon.nil? | ||
39 | "" | ||
40 | else | ||
41 | gift_ribbon.description | ||
42 | end | ||
43 | end | ||
26 | end | 44 | end |
27 | end | 45 | end |