Sha256: 8d2743267e9b629eefcd0e802e94ca75e2af4ed721a4b7c5c2028f0e17d506e8

Contents?: true

Size: 981 Bytes

Versions: 14

Compression:

Stored size: 981 Bytes

Contents

module FriendlyId::NonSluggableInstanceMethods

  attr :found_using_friendly_id

  # Was the record found using one of its friendly ids?
  def found_using_friendly_id?
    @found_using_friendly_id
  end

  # Was the record found using its numeric id?
  def found_using_numeric_id?
    !@found_using_friendly_id
  end
  alias has_better_id? found_using_numeric_id?

  # Returns the friendly_id.
  def friendly_id
    send friendly_id_options[:column]
  end
  alias best_id friendly_id

  # Returns the friendly id, or if none is available, the numeric id.
  def to_param
    (friendly_id || id).to_s
  end

  private
  
  def validate_friendly_id
    if self.class.friendly_id_options[:reserved].include? friendly_id
      self.errors.add(self.class.friendly_id_options[:column],
        self.class.friendly_id_options[:reserved_message] % friendly_id)
      return false
    end
  end

  def found_using_friendly_id=(value) #:nodoc#
    @found_using_friendly_id = value
  end

end

Version data entries

14 entries across 14 versions & 3 rubygems

Version Path
norman-friendly_id-2.0.3 lib/friendly_id/non_sluggable_instance_methods.rb
norman-friendly_id-2.0.4 lib/friendly_id/non_sluggable_instance_methods.rb
norman-friendly_id-2.1.0 lib/friendly_id/non_sluggable_instance_methods.rb
norman-friendly_id-2.1.1 lib/friendly_id/non_sluggable_instance_methods.rb
norman-friendly_id-2.1.2 lib/friendly_id/non_sluggable_instance_methods.rb
norman-friendly_id-2.1.3 lib/friendly_id/non_sluggable_instance_methods.rb
rakutenusa-friendly_id-2.0.6 lib/friendly_id/non_sluggable_instance_methods.rb
rakutenusa-friendly_id-2.0.7 lib/friendly_id/non_sluggable_instance_methods.rb
friendly_id-2.0.4 lib/friendly_id/non_sluggable_instance_methods.rb
friendly_id-2.0.3 lib/friendly_id/non_sluggable_instance_methods.rb
friendly_id-2.1.3 lib/friendly_id/non_sluggable_instance_methods.rb
friendly_id-2.1.2 lib/friendly_id/non_sluggable_instance_methods.rb
friendly_id-2.1.1 lib/friendly_id/non_sluggable_instance_methods.rb
friendly_id-2.1.0 lib/friendly_id/non_sluggable_instance_methods.rb