Sha256: 2dcecbd64e03c26d0f7257bee4860bbcdd401d4caad1beb6b2714d892f5bc38e
Contents?: true
Size: 778 Bytes
Versions: 1
Compression:
Stored size: 778 Bytes
Contents
module HumanUrls module Sluggable extend ActiveSupport::Concern included do before_validation :prepare_slug end module ClassMethods def sluggify(slug_param=:slug, generated_from: false) validates_presence_of slug_param validates_uniqueness_of slug_param, case_sensitive: false validates_length_of slug_param, maximum: 244 define_method(:to_param) do send(slug_param) end define_method(:prepare_slug) do if generated_from.present? self.send("#{slug_param}=", send(generated_from)) end self.send("#{slug_param}=", send(slug_param).to_s) self.send("#{slug_param}=", send(slug_param).parameterize) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
human_urls-0.1.0 | lib/human_urls/sluggable.rb |