Sha256: bc688e0f0c8defbf39dca08086f05c3aa9e351254dfa3a3732628143bfda9cac

Contents?: true

Size: 483 Bytes

Versions: 1

Compression:

Stored size: 483 Bytes

Contents

module Slugs
  module ActiveRecord 
    module NonTranslatable
      extend ActiveSupport::Concern

      module ClassMethods

        def exists_by_slug(id)
          exists? slug: id
        end
 
        def find_previous_slug(slug)
          where(
            "slug LIKE '#{slug}-%' OR slug = '#{slug}'"
          ).order(
            'LENGTH(slug) DESC, slug DESC'
          ).pluck('slug').select{ |r| r =~ /^#{slug}(-\d+)?$/ }.first
        end
 
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
slugs-1.2.3 lib/slugs/active_record/non_translatable.rb