Module: Slugs

Defined in:
lib/slugs.rb,
lib/slugs/slug.rb,
lib/slugs/concern.rb,
lib/slugs/railtie.rb,
lib/slugs/version.rb,
lib/slugs/configuration.rb,
lib/slugs/extensions/active_record/base.rb,
lib/slugs/extensions/active_record/finders.rb,
lib/generators/slugs/install/install_generator.rb,
lib/slugs/extensions/action_dispatch/generator.rb,
lib/slugs/extensions/action_dispatch/optimized_url_helper.rb

Defined Under Namespace

Modules: Concern, Extensions, Generators Classes: Configuration, Railtie, Slug

Constant Summary collapse

VERSION =
'4.0.0.0'

Class Method Summary collapse

Class Method Details

.configurationObject



14
15
16
# File 'lib/slugs.rb', line 14

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



18
19
20
# File 'lib/slugs.rb', line 18

def configure
  yield configuration
end

.parameterize(record, params) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/slugs.rb', line 22

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

.use_slug?(record, params) ⇒ Boolean

Returns:

  • (Boolean)


34
35
36
37
38
39
40
# File 'lib/slugs.rb', line 34

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