Sha256: 15aab47778a2f8698c199a3f2418d8fe80dabff389fa77f2eca62d3eabbba434
Contents?: true
Size: 713 Bytes
Versions: 4
Compression:
Stored size: 713 Bytes
Contents
# frozen_string_literal: true require 'active_support' module Lite module Uxid module Record module Ulid extend ActiveSupport::Concern included do before_create :callback_generate_uxid!, if: proc { respond_to?(:uxid) } end class_methods do def find_by_uxid(uxid) find_by(uxid: uxid) end def find_by_uxid!(uxid) record = find_by_uxid(uxid) return record unless record.nil? raise ActiveRecord::RecordNotFound end end private def callback_generate_uxid! self.uxid = Lite::Uxid::Ulid.encode end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
lite-uxid-1.1.0 | lib/lite/uxid/record/ulid.rb |
lite-uxid-1.0.8 | lib/lite/uxid/record/ulid.rb |
lite-uxid-1.0.7 | lib/lite/uxid/record/ulid.rb |
lite-uxid-1.0.6 | lib/lite/uxid/record/ulid.rb |