Sha256: bd12c210c8634327883b8982e06e5301cd1e8217d920246ed3486f8b180d529e

Contents?: true

Size: 382 Bytes

Versions: 4

Compression:

Stored size: 382 Bytes

Contents

module Ohm
  module Slug
    def self.included(base)
      base.extend FinderOverride
    end

    module FinderOverride
      def [](id)
        super(id.to_i)
      end
    end

    def slug(str = to_s)
      str.gsub("'", "").gsub(/\p{^Alnum}/u, " ").strip.gsub(/\s+/, "-").downcase
    end
    module_function :slug

    def to_param
      "#{ id }-#{ slug }"
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ohm-contrib-0.0.31 lib/ohm/contrib/slug.rb
ohm-contrib-0.0.30 lib/ohm/contrib/slug.rb
ohm-contrib-0.0.29 lib/ohm/contrib/slug.rb
ohm-contrib-0.0.28 lib/ohm/contrib/slug.rb