Sha256: 4ae69cfc3c285549b068f1478c8bffbc7d72a8114245284ca5e8171ea745457f

Contents?: true

Size: 892 Bytes

Versions: 2

Compression:

Stored size: 892 Bytes

Contents

require 'slugs/extensions/action_dispatch/generator'
require 'slugs/extensions/action_dispatch/optimized_url_helper'
require 'slugs/extensions/active_record/base'
require 'slugs/extensions/active_record/finders'
require 'slugs/slug'
require 'slugs/concern'
require 'slugs/configuration'
require 'slugs/railtie'
require 'slugs/version'

module Slugs
  class << self

    def configuration
      @configuration ||= Configuration.new
    end

    def configure
      yield configuration
    end

    def parameterize(record, params)
      if use_slug?(record, params)
        if record.slug_changed?
          record.slug_was
        else
          record.slug
        end
      else
        record.to_param
      end
    end

    def use_slug?(record, params)
      if record.try(:sluggable?)
        configuration.use_slug? record, params
      else
        false
      end
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
slugs-4.0.0.1 lib/slugs.rb
slugs-4.0.0.0 lib/slugs.rb