diff options
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 |