Module: Permalink

Defined in:
lib/permalink.rb,
lib/permalink/version.rb,
lib/permalink/active_record.rb,
lib/permalink/normalizations/downcase.rb,
lib/permalink/normalizations/contraction.rb,
lib/permalink/normalizations/multiple_dashes.rb,
lib/permalink/normalizations/transliteration.rb,
lib/permalink/normalizations/non_alphanumeric.rb,
lib/permalink/normalizations/leading_trailing_dashes.rb

Defined Under Namespace

Modules: ActiveRecord, Normalizations, Version

Constant Summary collapse

DEFAULT_NORMALIZATIONS =
[
  Normalizations::Transliteration,
  Normalizations::Downcase,
  Normalizations::Contraction,
  Normalizations::NonAlphanumeric,
  Normalizations::MultipleDashes,
  Normalizations::LeadingTrailingDashes
].freeze
DEFAULT_OPTIONS =
{
  normalizations: DEFAULT_NORMALIZATIONS,
  separator: "-"
}.freeze

Class Method Summary collapse

Class Method Details

.generate(input, options = DEFAULT_OPTIONS) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'lib/permalink.rb', line 27

def self.generate(input, options = DEFAULT_OPTIONS)
  options = DEFAULT_OPTIONS.merge(options)

  options[:normalizations].each do |normalization|
    input = normalization.call(input, options)
  end

  input
end