Sha256: f854052f42501eca66f3552583b1c097470f3101c8725490a1fd6935846abeb3
Contents?: true
Size: 813 Bytes
Versions: 3
Compression:
Stored size: 813 Bytes
Contents
module Seiten class SlugBuilder def self.call(page_options, prefix_url='') page_options = page_options.with_indifferent_access title = page_options['title'] url = page_options['url'] root = page_options['root'] # if url is nil parameterize title otherwise just use url slug = url.nil? ? title.parameterize : url # prepend prefix_url if slug is not root or external url unless slug[0] == "/" || !!(slug.match(/^https?:\/\/.+/)) || !prefix_url.present? slug = "#{prefix_url}/#{slug}" end # return empty string if page slug is / if slug == "/" || root == true slug = "" end # remove leading slash if present if slug slug = slug[1..-1] if slug[0] == "/" end slug end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
seiten-1.0.2 | lib/seiten/slug_builder.rb |
seiten-1.0.1 | lib/seiten/slug_builder.rb |
seiten-1.0.0 | lib/seiten/slug_builder.rb |