mirror of
https://github.com/wahyd4/Libr.git
synced 2026-08-09 04:46:07 +10:00
40 lines
850 B
Ruby
40 lines
850 B
Ruby
class BookInstance < ActiveRecord::Base
|
|
attr_accessible :book_id, :user_id, :public
|
|
validates_presence_of :book_id, :user_id
|
|
belongs_to :book
|
|
belongs_to :user
|
|
|
|
delegate :name, :image, :isbn, to: :book, prefix: false
|
|
delegate :name, to: :user, prefix: true
|
|
delegate :preferred_name, to: :user, prefix: true
|
|
has_many :borrow_records
|
|
has_many :borrowers, :source => :user, through: :borrow_records
|
|
|
|
|
|
def borrowed?
|
|
!borrow_records.where(return_date: nil).empty?
|
|
end
|
|
|
|
def current_borrower
|
|
if borrowed?
|
|
User.find_by_id borrow_records.where(return_date: nil)[0].user_id
|
|
end
|
|
end
|
|
|
|
def be_private
|
|
update_attributes public: false
|
|
end
|
|
|
|
def be_public
|
|
update_attributes public: true
|
|
end
|
|
|
|
def sortable_book
|
|
sortable_book = self.book
|
|
sortable_book.sort_id = self.id
|
|
sortable_book
|
|
|
|
end
|
|
|
|
end
|