CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 06 Aug 2025 12:18:49 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090503051521
location: https://web.archive.org/web/20090503051521/https://github.com/technoweenie/permalink_fu/tree/
server-timing: captures_list;dur=2.532801, exclusion.robots;dur=0.024938, exclusion.robots.policy;dur=0.010410, esindex;dur=0.010360, cdx.remote;dur=68.368976, LoadShardBlock;dur=426.301276, PetaboxLoader3.datanode;dur=61.975752, PetaboxLoader3.resolve;dur=181.062047
x-app-server: wwwb-app239
x-ts: 302
x-tr: 714
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=7
set-cookie: wb-p-SERVER=wwwb-app239; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Wed, 06 Aug 2025 12:18:51 GMT
content-type: text/html; charset=utf-8
content-length: 121
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Sun, 03 May 2009 05:15:15 GMT
x-archive-orig-connection: close
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090503051521/https://github.com/technoweenie/permalink_fu/tree/master
x-archive-orig-x-runtime: 20ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 121
cache-control: max-age=1800
memento-datetime: Sun, 03 May 2009 05:15:21 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Thu, 27 Mar 2008 22:24:37 GMT", ; rel="prev memento"; datetime="Thu, 23 Apr 2009 00:36:21 GMT", ; rel="memento"; datetime="Sun, 03 May 2009 05:15:21 GMT", ; rel="next memento"; datetime="Sat, 04 Jul 2009 20:50:12 GMT", ; rel="last memento"; datetime="Mon, 02 Nov 2009 17:34:34 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_9_20090503044930_crawl101-c/52_9_20090503051311_crawl101.arc.gz
server-timing: captures_list;dur=1.146300, exclusion.robots;dur=0.018936, exclusion.robots.policy;dur=0.007182, esindex;dur=0.008389, cdx.remote;dur=91.641180, LoadShardBlock;dur=462.408103, PetaboxLoader3.datanode;dur=121.355216, PetaboxLoader3.resolve;dur=355.147589, load_resource;dur=322.516178
x-app-server: wwwb-app239
x-ts: 301
x-tr: 928
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=5
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Wed, 06 Aug 2025 12:18:52 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Sun, 03 May 2009 05:07:20 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: _github_ses=BAh7ByIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7ADoOcmV0dXJuX3RvIhkvcnBhcmtlcjc5L2ZvbGxvd2Vycw%3D%3D--bd12b8e18663b14e90826af6b82d747556088721; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 195ms
x-archive-orig-etag: "13c33ff694262c6fda8f813a99a802b5"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 18632
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Sun, 03 May 2009 05:15:21 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sun, 23 Mar 2008 23:52:14 GMT", ; rel="prev memento"; datetime="Thu, 23 Apr 2009 00:36:21 GMT", ; rel="memento"; datetime="Sun, 03 May 2009 05:15:21 GMT", ; rel="next memento"; datetime="Sat, 04 Jul 2009 20:50:12 GMT", ; rel="last memento"; datetime="Tue, 12 Jul 2022 04:29:31 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_9_20090503044930_crawl101-c/52_9_20090503051311_crawl101.arc.gz
server-timing: captures_list;dur=0.610624, exclusion.robots;dur=0.018933, exclusion.robots.policy;dur=0.007129, esindex;dur=0.010433, cdx.remote;dur=149.634596, LoadShardBlock;dur=760.706119, PetaboxLoader3.resolve;dur=514.930145, PetaboxLoader3.datanode;dur=396.544303, load_resource;dur=173.557861
x-app-server: wwwb-app239
x-ts: 200
x-tr: 1163
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=2
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
technoweenie's permalink_fu at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Description: | ActiveRecord plugin for automatically converting fields to permalinks. |
Clone URL: |
git://github.com/technoweenie/permalink_fu.git
Give this clone URL to anyone.
git clone git://github.com/technoweenie/permalink_fu.git
|
name | age | message | |
---|---|---|---|
![]() |
README | Wed Mar 11 22:23:49 -0700 2009 | Test for permalinks that escape to nothing prin... [martinemde] |
![]() |
init.rb | Thu Sep 25 00:12:30 -0700 2008 | remove the last bits of self.included and self.... [rick] |
![]() |
lib/ | Wed Mar 11 21:27:28 -0700 2009 | Don't check uniqueness if !permalink_changed? B... [martinemde] |
![]() |
test/ | Wed Mar 11 22:23:49 -0700 2009 | Test for permalinks that escape to nothing prin... [martinemde] |
PermalinkFu This is a simple plugin extracted from Mephisto for creating permalinks from attributes. class Article < ActiveRecord::Base has_permalink :title end This will escape the title, making it fit to use in a URL in the after_validation callback. Use PermalinkFu.escape to escape a string manually if you like. If you're having issues with Iconv, you can manually tweak PermalinkFu.translation_to PermalinkFu.translation_from. These are set to nil if Iconv is not loaded. You can also manually set them to nil if you don't want to use iconv. [Added 3.13.2008 by Pat Nakajima] You can now add conditions to #has_permalink like so: class Article < ActiveRecord::Base has_permalink :title, :if => Proc.new { |article| article.needs_permalink? } end Use the :if or :unless options to specify a Proc, method, or string to be called or evaluated. The permalink will only be generated if the option evaluates to true. [Added 3.11.2009 by Martin Emde] Make permalink_fu update your permalink everytime the dependent field(s) change. class Article < ActiveRecord::Base has_permalink :title, :update => true end This will update your permalink every time title changes. Rails versions with _changed? methods will reduce the checks for uniqueness to only when the permalink field is changed. Without :update set to true, your permalink will be set one time and subsequent changes to the field (title in this example) will not affect the permalink field. To regenerate the permalink field, set it to nil or a blank string within your model. Old versions of rails without _changed? attribute support will result in the permalink field being regenerated every save. [Bug Fixed 3.11.2009] Permalink was not being checked for uniqueness when set directly with permalink= on rails versions with _changed?
This feature is coming soon. Sit tight!