about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2017-10-04 23:09:37 -0400
committerKelly Rauchenberger <fefferburbia@gmail.com>2017-10-04 23:09:37 -0400
commiteae1c764df31b5e5aa2a2d8315b2b5c0997babf4 (patch)
tree412387cc73d166c28fa4e0f5658bded6d4b7fbc8
parent52bac73894ad0fe20d7aec907bbd7f07e83ca477 (diff)
downloadpokeviewer-eae1c764df31b5e5aa2a2d8315b2b5c0997babf4.tar.gz
pokeviewer-eae1c764df31b5e5aa2a2d8315b2b5c0997babf4.tar.bz2
pokeviewer-eae1c764df31b5e5aa2a2d8315b2b5c0997babf4.zip
Pokémon now show the Poké Ball that they're in
Also fixed a bug with viewing Pokémon that aren't in any game.
-rw-r--r--app/jobs/pokeviewer/extract_save_data_job.rb1
-rw-r--r--app/models/pokeviewer/pokemon.rb9
-rw-r--r--app/views/pokeviewer/pokemon/show.html.haml3
-rw-r--r--db/migrate/20171004203404_add_pokeball_to_pokemon.rb9
-rw-r--r--test/dummy/db/schema.rb3
5 files changed, 23 insertions, 2 deletions
diff --git a/app/jobs/pokeviewer/extract_save_data_job.rb b/app/jobs/pokeviewer/extract_save_data_job.rb index f94ce74..e9e0231 100644 --- a/app/jobs/pokeviewer/extract_save_data_job.rb +++ b/app/jobs/pokeviewer/extract_save_data_job.rb
@@ -96,6 +96,7 @@ module Pokeviewer
96 r.nature = Pokemon.nature.values[param["nature"]] 96 r.nature = Pokemon.nature.values[param["nature"]]
97 r.gender = param["gender"] 97 r.gender = param["gender"]
98 r.second_ability = param["secondAbility"] 98 r.second_ability = param["secondAbility"]
99 r.pokeball = Pokemon.pokeball.values[param["pokeball"] - 1]
99 100
100 # Handle Unown form 101 # Handle Unown form
101 if r.species_id == 201 102 if r.species_id == 201
diff --git a/app/models/pokeviewer/pokemon.rb b/app/models/pokeviewer/pokemon.rb index 18d1533..268a417 100644 --- a/app/models/pokeviewer/pokemon.rb +++ b/app/models/pokeviewer/pokemon.rb
@@ -1,6 +1,7 @@
1module Pokeviewer 1module Pokeviewer
2 class Pokemon < ApplicationRecord 2 class Pokemon < ApplicationRecord
3 extend Enumerize 3 extend Enumerize
4 extend ActiveModel::Naming
4 5
5 belongs_to :species 6 belongs_to :species
6 7
@@ -69,6 +70,10 @@ module Pokeviewer
69 :l, :m, :n, :o, :p, :q, :r, :s, :t, :u, :v, :w, :x, :y, :z, 70 :l, :m, :n, :o, :p, :q, :r, :s, :t, :u, :v, :w, :x, :y, :z,
70 :question, :exclamation] 71 :question, :exclamation]
71 72
73 validates :pokeball, presence: true
74 enumerize :pokeball, in: [:master, :ultra, :great, :poke, :safari, :net,
75 :dive, :nest, :repeat, :timer, :luxury, :premier]
76
72 def to_param 77 def to_param
73 uuid 78 uuid
74 end 79 end
@@ -191,6 +196,10 @@ module Pokeviewer
191 end 196 end
192 end 197 end
193 198
199 def pokeball_icon_path
200 "pokeviewer/items/#{Pokemon.pokeball.values.find_index(pokeball) + 1}.png"
201 end
202
194 private 203 private
195 204
196 def set_uuid 205 def set_uuid
diff --git a/app/views/pokeviewer/pokemon/show.html.haml b/app/views/pokeviewer/pokemon/show.html.haml index 4485932..e3bee11 100644 --- a/app/views/pokeviewer/pokemon/show.html.haml +++ b/app/views/pokeviewer/pokemon/show.html.haml
@@ -1,4 +1,4 @@
1.pokemon{ class: "in-#{@pokemon.trainer.game}" } 1.pokemon{ class: (not @pokemon.trainer.nil?) && "in-#{@pokemon.trainer.game}" }
2 .pokemon-basics 2 .pokemon-basics
3 .pokemon-species-id= "No. #{@pokemon.species_id}" 3 .pokemon-species-id= "No. #{@pokemon.species_id}"
4 .pokemon-species-name= @pokemon.species.name 4 .pokemon-species-name= @pokemon.species.name
@@ -90,6 +90,7 @@
90 = ribbon[:description] 90 = ribbon[:description]
91 .pokemon-etc 91 .pokemon-etc
92 .pd-details Misc 92 .pd-details Misc
93 = image_tag(@pokemon.pokeball_icon_path)
93 - unless @pokemon.revisions.last.item.nil? 94 - unless @pokemon.revisions.last.item.nil?
94 .pd-hold-item.pkv-has-hover 95 .pd-hold-item.pkv-has-hover
95 = image_tag(@pokemon.revisions.last.item.icon_path) 96 = image_tag(@pokemon.revisions.last.item.icon_path)
diff --git a/db/migrate/20171004203404_add_pokeball_to_pokemon.rb b/db/migrate/20171004203404_add_pokeball_to_pokemon.rb new file mode 100644 index 0000000..9568d10 --- /dev/null +++ b/db/migrate/20171004203404_add_pokeball_to_pokemon.rb
@@ -0,0 +1,9 @@
1class AddPokeballToPokemon < ActiveRecord::Migration[5.1]
2 def change
3 change_table :pokeviewer_pokemon do |t|
4 t.string :pokeball, null: false, default: :poke
5 end
6
7 change_column_default :pokeviewer_pokemon, :pokeball, nil
8 end
9end
diff --git a/test/dummy/db/schema.rb b/test/dummy/db/schema.rb index b1c02e3..5ae8e1d 100644 --- a/test/dummy/db/schema.rb +++ b/test/dummy/db/schema.rb
@@ -10,7 +10,7 @@
10# 10#
11# It's strongly recommended that you check this file into your version control system. 11# It's strongly recommended that you check this file into your version control system.
12 12
13ActiveRecord::Schema.define(version: 20171003191205) do 13ActiveRecord::Schema.define(version: 20171004203404) do
14 14
15 create_table "pokeviewer_gift_ribbons", force: :cascade do |t| 15 create_table "pokeviewer_gift_ribbons", force: :cascade do |t|
16 t.string "description", null: false 16 t.string "description", null: false
@@ -68,6 +68,7 @@ ActiveRecord::Schema.define(version: 20171003191205) do
68 t.integer "box" 68 t.integer "box"
69 t.integer "slot" 69 t.integer "slot"
70 t.integer "location_id" 70 t.integer "location_id"
71 t.string "pokeball", null: false
71 t.index ["key"], name: "index_pokeviewer_pokemon_on_key", unique: true 72 t.index ["key"], name: "index_pokeviewer_pokemon_on_key", unique: true
72 t.index ["species_id"], name: "index_pokeviewer_pokemon_on_species_id" 73 t.index ["species_id"], name: "index_pokeviewer_pokemon_on_species_id"
73 t.index ["trainer_id"], name: "index_pokeviewer_pokemon_on_trainer_id" 74 t.index ["trainer_id"], name: "index_pokeviewer_pokemon_on_trainer_id"