aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/models/book.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/test/models/book.rb')
-rw-r--r--activerecord/test/models/book.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/activerecord/test/models/book.rb b/activerecord/test/models/book.rb
new file mode 100644
index 0000000000..afdda1a81e
--- /dev/null
+++ b/activerecord/test/models/book.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+class Book < ActiveRecord::Base
+ belongs_to :author
+
+ has_many :citations, foreign_key: "book1_id"
+ has_many :references, -> { distinct }, through: :citations, source: :reference_of
+
+ has_many :subscriptions
+ has_many :subscribers, through: :subscriptions
+
+ enum status: [:proposed, :written, :published]
+ enum read_status: { 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" }
+
+ def published!
+ super
+ "do publish work..."
+ end
+end