stevegrossi/stevegrossi

View on GitHub
app/models/author.rb

Summary

Maintainability
A
0 mins
Test Coverage
class Author < ActiveRecord::Base

  extend FriendlyId
  friendly_id :full_name

  has_many :authorships, dependent: :destroy
  has_many :books, through: :authorships

  default_scope { order("lower(lname), fname, mname") }

  validates :fname, presence: true,
                    uniqueness: { scope: [:lname, :mname] }
  validates :lname, presence: true

  def full_name
    [fname, mname, lname].compact.join(" ")
  end
end