Class: FriendlyId::SlugGenerator
- Inherits:
-
Object
- Object
- FriendlyId::SlugGenerator
- Defined in:
- lib/friendly_id/slug_generator.rb
Overview
The default slug generator offers functionality to check slug candidates for availability.
Instance Method Summary collapse
- #available?(slug) ⇒ Boolean
- #generate(candidates) ⇒ Object
-
#initialize(scope, config) ⇒ SlugGenerator
constructor
A new instance of SlugGenerator.
Constructor Details
#initialize(scope, config) ⇒ SlugGenerator
Returns a new instance of SlugGenerator.
5 6 7 8 |
# File 'lib/friendly_id/slug_generator.rb', line 5 def initialize(scope, config) @scope = scope @config = config end |
Instance Method Details
#available?(slug) ⇒ Boolean
10 11 12 13 14 15 16 |
# File 'lib/friendly_id/slug_generator.rb', line 10 def available?(slug) if @config.uses?(::FriendlyId::Reserved) && @config.reserved_words.present? && @config.treat_reserved_as_conflict return false if @config.reserved_words.include?(slug) end !@scope.exists_by_friendly_id?(slug) end |
#generate(candidates) ⇒ Object
18 19 20 21 |
# File 'lib/friendly_id/slug_generator.rb', line 18 def generate(candidates) candidates.each { |c| return c if available?(c) } nil end |