diff options
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/pokeviewer/ability.rb | 7 | ||||
-rw-r--r-- | app/models/pokeviewer/move.rb | 8 | ||||
-rw-r--r-- | app/models/pokeviewer/pokemon.rb | 8 | ||||
-rw-r--r-- | app/models/pokeviewer/species.rb | 10 |
4 files changed, 30 insertions, 3 deletions
diff --git a/app/models/pokeviewer/ability.rb b/app/models/pokeviewer/ability.rb new file mode 100644 index 0000000..594b18c --- /dev/null +++ b/app/models/pokeviewer/ability.rb | |||
@@ -0,0 +1,7 @@ | |||
1 | module Pokeviewer | ||
2 | class Ability < ApplicationRecord | ||
3 | validates :name, presence: true, uniqueness: true | ||
4 | |||
5 | validates :description, presence: true | ||
6 | end | ||
7 | end | ||
diff --git a/app/models/pokeviewer/move.rb b/app/models/pokeviewer/move.rb index 3ef6a9c..c63493a 100644 --- a/app/models/pokeviewer/move.rb +++ b/app/models/pokeviewer/move.rb | |||
@@ -10,10 +10,12 @@ module Pokeviewer | |||
10 | validates :pp, presence: true, | 10 | validates :pp, presence: true, |
11 | numericality: { greater_than_or_equal_to: 1, only_integer: true } | 11 | numericality: { greater_than_or_equal_to: 1, only_integer: true } |
12 | 12 | ||
13 | validates :move_type, presence: true | 13 | TYPES = [:normal, :fighting, :flying, :poison, :ground, |
14 | enumerize :move_type, in: [:normal, :fighting, :flying, :poison, :ground, | ||
15 | :rock, :bug, :ghost, :steel, :mystery, :fire, :water, :grass, :electric, | 14 | :rock, :bug, :ghost, :steel, :mystery, :fire, :water, :grass, :electric, |
16 | :psychic, :ice, :dragon, :dark], predicates: true | 15 | :psychic, :ice, :dragon, :dark] |
16 | |||
17 | validates :move_type, presence: true | ||
18 | enumerize :move_type, in: TYPES, predicates: true | ||
17 | 19 | ||
18 | validates :rs_description, presence: true | 20 | validates :rs_description, presence: true |
19 | validates :frlg_description, presence: true | 21 | validates :frlg_description, presence: true |
diff --git a/app/models/pokeviewer/pokemon.rb b/app/models/pokeviewer/pokemon.rb index 268a417..1b690f5 100644 --- a/app/models/pokeviewer/pokemon.rb +++ b/app/models/pokeviewer/pokemon.rb | |||
@@ -200,6 +200,14 @@ module Pokeviewer | |||
200 | "pokeviewer/items/#{Pokemon.pokeball.values.find_index(pokeball) + 1}.png" | 200 | "pokeviewer/items/#{Pokemon.pokeball.values.find_index(pokeball) + 1}.png" |
201 | end | 201 | end |
202 | 202 | ||
203 | def ability | ||
204 | if second_ability | ||
205 | species.ability_2 | ||
206 | else | ||
207 | species.ability_1 | ||
208 | end | ||
209 | end | ||
210 | |||
203 | private | 211 | private |
204 | 212 | ||
205 | def set_uuid | 213 | def set_uuid |
diff --git a/app/models/pokeviewer/species.rb b/app/models/pokeviewer/species.rb index c69fd21..429e762 100644 --- a/app/models/pokeviewer/species.rb +++ b/app/models/pokeviewer/species.rb | |||
@@ -1,7 +1,17 @@ | |||
1 | module Pokeviewer | 1 | module Pokeviewer |
2 | class Species < ApplicationRecord | 2 | class Species < ApplicationRecord |
3 | extend Enumerize | ||
4 | |||
3 | has_many :pokemon, dependent: :restrict_with_exception | 5 | has_many :pokemon, dependent: :restrict_with_exception |
4 | 6 | ||
5 | validates :name, presence: true, uniqueness: true | 7 | validates :name, presence: true, uniqueness: true |
8 | |||
9 | validates :type_1, presence: true | ||
10 | |||
11 | enumerize :type_1, in: Move::TYPES | ||
12 | enumerize :type_2, in: Move::TYPES | ||
13 | |||
14 | belongs_to :ability_1, class_name: "Ability" | ||
15 | belongs_to :ability_2, class_name: "Ability", optional: true | ||
6 | end | 16 | end |
7 | end | 17 | end |