You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
624 B
21 lines
624 B
class Movie < ApplicationRecord
|
|
validates :title, :released_on, :duration, presence: true
|
|
validates :description, length: { minimum: 25 }
|
|
validates :total_gross, numericality: { greater_than_or_equal_to: 0 }
|
|
validates :image_file_name, format: {
|
|
with: /\w+\.(jpg|png)\z/i,
|
|
message: "must be a JPG or PNG image"
|
|
}
|
|
RATINGS = %w(G PG PG-13 R X NC-17)
|
|
validates :rating, inclusion: { in: RATINGS }
|
|
|
|
has_many :reviews, dependent: :destroy
|
|
|
|
def flop?
|
|
total_gross.blank? || total_gross < 225_000_000
|
|
end
|
|
def self.released
|
|
where("released_on < ?", Time.now).order(released_on: :desc)
|
|
end
|
|
end
|