Sha256: f4a3ce3be97c12e8d39da4629a134457c36093b3fa2daa466cb064704059e4c6

Contents?: true

Size: 627 Bytes

Versions: 1

Compression:

Stored size: 627 Bytes

Contents

module Slugs
  module Extensions
    module ActiveRecord
      module Finders
        extend ActiveSupport::Concern

        def find(id)
          if sluggable? && id.is_a?(String) && id !~ /\A\d+\z/
            order = Slugs::Slug.order(id: :desc)
            joins(:slugs).merge(order).find_by! slugs: { value: id }
          else
            super
          end
        end

        def exists?(value=:none)
          if sluggable? && value.is_a?(String) && value !~ /\A\d+\z/
            joins(:slugs).exists? slugs: { value: value }
          else
            super
          end
        end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
slugs-4.0.0.0 lib/slugs/extensions/active_record/finders.rb