Sha256: b3c4da72d32da195f42063f6ede014398f2cbc7d06b8ebf479ae0189fa3c1fad

Contents?: true

Size: 485 Bytes

Versions: 1

Compression:

Stored size: 485 Bytes

Contents

# frozen_string_literal: true

class Album < ActiveRecord::Base
  self.primary_key = :id

  before_validation :set_id, :on => :create
  before_validation :set_integer_id, :on => :create

  validates :id,         :presence => true, :uniqueness => true
  validates :integer_id, :presence => true, :uniqueness => true

  private

  def set_id
    self.id = (Album.maximum(:id) || "a").next
  end

  def set_integer_id
    self.integer_id = (Album.maximum(:integer_id) || 0) + 1
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
thinking-sphinx-4.0.0 spec/internal/app/models/album.rb