16 lines
464 B
Ruby
16 lines
464 B
Ruby
class Book < ApplicationRecord
|
|
include Accessable, Sluggable
|
|
|
|
has_many :leaves, dependent: :destroy
|
|
has_one_attached :cover, dependent: :purge_later
|
|
|
|
scope :ordered, -> { order(:title) }
|
|
scope :published, -> { where(published: true) }
|
|
|
|
enum :theme, %w[ black blue green magenta orange violet white ].index_by(&:itself), suffix: true, default: :blue
|
|
|
|
def press(leafable, leaf_params)
|
|
leaves.create! leaf_params.merge(leafable: leafable)
|
|
end
|
|
end
|