Sha256: 8ba931d32387cb5fbb283ef50e16ea31ecbf0fe332541c181e685e70ee304270
Contents?: true
Size: 715 Bytes
Versions: 5
Compression:
Stored size: 715 Bytes
Contents
require "friendly_id" module HasPermalink def self.included(base) base.extend ClassMethods end module ClassMethods def has_permalink column, options={} extend FriendlyId friendly_id column do |config| config.use :slugged, :finders if options[:scope] config.use :scoped config.scope = options[:scope] end config.slug_column = options[:url_attribute] end self.class_eval do def should_generate_new_friendly_id? permalink.blank? end end define_method :"#{options[:url_attribute]}=" do |value| value = value.parameterize if value super value end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
adva-0.1.4 | lib/has_permalink.rb |
adva-0.1.3 | lib/has_permalink.rb |
adva-0.1.2 | lib/has_permalink.rb |
adva-0.1.1 | lib/has_permalink.rb |
adva-0.1.0 | lib/has_permalink.rb |