Sha256: f84f4d9a3c37b36d6b742fc42a8a25b5bb9c8550a95fc51f592b83910d49c118
Contents?: true
Size: 1005 Bytes
Versions: 6
Compression:
Stored size: 1005 Bytes
Contents
# typed: strict class Wizard < ApplicationRecord validates :name, length: { minimum: 5 }, presence: true typed_enum house: { Gryffindor: 0, Hufflepuff: 1, Ravenclaw: 2, Slytherin: 3, } # To create conflict with enum class Professor; end enum professor: { "Severus Snape": 0, "Minerva McGonagall": 1, "Pomona Sprout": 2, "Filius Flitwick": 3, "Hagrid": 4, } typed_enum broom: { nimbus: 'nimbus', firebolt: 'firebolt', }, _prefix: true typed_enum quidditch_position: { keeper: 0, seeker: 1, beater: 2, chaser: 3, }, _prefix: :quidditch enum hair_color: { brown: 0, black: 1, blonde: 2, }, _suffix: :hair enum eye_color: { brown: 0, green: 1, blue: 2, }, _prefix: :color, _suffix: :eyes has_one :wand has_many :spell_books # simulate when belongs_to is optional by default belongs_to :school, optional: true scope :recent, -> { where('created_at > ?', 1.month.ago) } end
Version data entries
6 entries across 3 versions & 1 rubygems