Sha256: d62a7b8c45d7e82eef6c42718a7436ba34076fdda9496c52e523aeefb1342b62

Contents?: true

Size: 547 Bytes

Versions: 8

Compression:

Stored size: 547 Bytes

Contents

module Pseudocephalopod
  module Finders
    
    def find_using_slug(slug, options = {})
      slug = slug.to_s
      value = nil
      value ||= find_by_id(slug.to_i, options) if slug =~ /\A\d+\Z/
      value ||= with_cached_slug(slug).first(options)
      value ||= find_using_slug_history(slug, options) if use_slug_history
      value.found_via_slug = slug if value.present?
      value
    end
    
    def find_using_slug!(slug, options = {})
      find_using_slug(slug, options) or raise ActiveRecord::RecordNotFound
    end
    
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
pseudocephalopod-0.3.1 lib/pseudocephalopod/finders.rb
pseudocephalopod-0.3.0 lib/pseudocephalopod/finders.rb
pseudocephalopod-0.2.5 lib/pseudocephalopod/finders.rb
pseudocephalopod-0.2.4 lib/pseudocephalopod/finders.rb
pseudocephalopod-0.2.3 lib/pseudocephalopod/finders.rb
pseudocephalopod-0.2.2 lib/pseudocephalopod/finders.rb
pseudocephalopod-0.2.1 lib/pseudocephalopod/finders.rb
pseudocephalopod-0.2.0 lib/pseudocephalopod/finders.rb