uuid.rb

Path: lib/routing_filter/filters/uuid.rb
Last Update: Wed Dec 21 14:15:47 +0200 2011

The Uuid filter extracts an UUID segment from the beginning of the recognized path and exposes the page parameter as params[:page]. When a path is generated the filter adds the segments to the path accordingly if the page parameter is passed to the url helper.

  incoming url: /d00fbbd1-82b6-4c1a-a57d-098d529d6854/product/1
  filtered url: /product/1
  params:       params[:uuid] = 'd00fbbd1-82b6-4c1a-a57d-098d529d6854'

You can install the filter like this:

  # in config/routes.rb
  Rails.application.routes.draw do
    filter :uuid
  end

To make your named_route helpers or url_for add the uuid segment you can use:

  product_path(:uuid => uuid)
  url_for(product, :uuid => uuid)

[Validate]