Sha256: ebaaddb3ac1697361f3d0c392c784a9403a5e281d9e9ca7306cd248d97c4aba1

Contents?: true

Size: 378 Bytes

Versions: 2

Compression:

Stored size: 378 Bytes

Contents

# encoding: utf-8

module PagesCore
  module HumanizableParam
    extend ActiveSupport::Concern

    def humanized_param(slug)
      return id.to_s unless slug && !slug.blank?
      "#{id}-" + slug
        .gsub(/[\[\{]/, "(")
        .gsub(/[\]\}]/, ")")
        .gsub(/[^[[:alnum:]]()\-]+/, "-")
        .gsub(/[\-]{2,}/, "-")
        .gsub(/(^\-|\-$)/, "")
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pages_core-3.4.3 app/models/concerns/pages_core/humanizable_param.rb
pages_core-3.4.2 app/models/concerns/pages_core/humanizable_param.rb