mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
81afcabd19
We are not encrypting attributes when loading models with the table missing. This way we make sure we only load the encrypted models when necessary during the encryption tests and prevent the problem of missing encrypted attributes due to having cached the class without them encrypted.
35 lines
1.1 KiB
Ruby
35 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
class Book < ActiveRecord::Base
|
|
belongs_to :author
|
|
|
|
has_many :citations, foreign_key: "book1_id", inverse_of: :book
|
|
has_many :references, -> { distinct }, through: :citations, source: :reference_of
|
|
|
|
has_many :subscriptions
|
|
has_many :subscribers, through: :subscriptions
|
|
|
|
enum status: [:proposed, :written, :published]
|
|
enum last_read: { unread: 0, reading: 2, read: 3, forgotten: nil }
|
|
enum nullable_status: [:single, :married]
|
|
enum language: [:english, :spanish, :french], _prefix: :in
|
|
enum author_visibility: [:visible, :invisible], _prefix: true
|
|
enum illustrator_visibility: [:visible, :invisible], _prefix: true
|
|
enum font_size: [:small, :medium, :large], _prefix: :with, _suffix: true
|
|
enum difficulty: [:easy, :medium, :hard], _suffix: :to_read
|
|
enum cover: { hard: "hard", soft: "soft" }
|
|
enum boolean_status: { enabled: true, disabled: false }
|
|
|
|
def published!
|
|
super
|
|
"do publish work..."
|
|
end
|
|
end
|
|
|
|
class PublishedBook < ActiveRecord::Base
|
|
self.table_name = "books"
|
|
|
|
enum :cover, { hard: "0", soft: "1" }, default: :hard
|
|
|
|
validates_uniqueness_of :isbn
|
|
end
|