about summary refs log tree commit diff stats
path: root/app/models/species.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/species.rb')
-rw-r--r--app/models/species.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/app/models/species.rb b/app/models/species.rb new file mode 100644 index 0000000..0623f11 --- /dev/null +++ b/app/models/species.rb
@@ -0,0 +1,24 @@
1class Species < ApplicationRecord
2 extend Enumerize
3
4 has_many :revisions, dependent: :restrict_with_exception
5
6 has_many :pokedex_entries, dependent: :destroy
7
8 validates :name, presence: true, uniqueness: true
9
10 validates :type_1, presence: true
11
12 enumerize :type_1, in: Move::TYPES
13 enumerize :type_2, in: Move::TYPES
14
15 belongs_to :ability_1, class_name: "Ability"
16 belongs_to :ability_2, class_name: "Ability", optional: true
17
18 def current_revisions
19 revisions.
20 where("pokemon.current_id = revisions.id").
21 includes(:pokemon).
22 references(:pokemon)
23 end
24end