0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Slug generator that is agnostic about ORMs
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.7
~> 10.0
~> 3.0.0
 Project Readme

agnostic_slugs

agnostic_slugs is a simple slug generator that is agnostic.

What it can:

  • Generate slugs

What it can not:

  • Integrate with ActiveRecord, Mongoid or any other ORM
  • Integrate with Rails or any other framework
  • Monkey-patch the String class

Status

Build Status

Installation

Add this line to your application's Gemfile:

gem 'agnostic_slugs'

Usage

It makes a slug suitable for URLs:

slug = AgnosticSlugs::Slug.new("Look at my pretty new shoes! :)")
slug.to_s # => "look-at-my-pretty-new-shoes"

It expands foreign chars. Example in Danish:

slug = AgnosticSlugs::Slug.new("Ræven spiser rønnebær")
slug.to_s # => "raeven-spiser-roennebaer"

Find #next slug:

slug = AgnosticSlugs::Slug.new("Hello")
slug.to_s       # => "hello"
slug.next.to_s  # => "hello-2"

Or .step through slugs to find a unique slug using your own business logic:

AgnosticSlugs::Slug.step("Hello world") do |slug|
  my_repo.slug_unique?(slug)
end
# => "hello-world-7"

Contributing

  1. Fork it ( https://github.com/lasseebert/agnostic_slugs/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request