URI::Platonic というモジュールを書いた
プラトニック形式の URI という呼び方は RESTful Web サービスに出てきて初めて呼び方を知ったんだけど,そのプラトニック形式の URI と,拡張子付きでリソースの詳細な表現形態を指定した URI(長いな…)をもっと簡単に扱いたかったので,そんなモジュールを書いてみた.
http://coderepos.org/share/browser/lang/perl/URI-Platonic
use URI; use URI::Platonic; my $uri = URI->new("http://example.com/path/to/resource.html"); $uri->platonize; # "http://example.com/path/to/resource" (URI object) $uri->platonic_path; # "/path/to/resource" $uri->extension; # "html" $uri->as_string; # "http://example.com/path/to/resource.html"
実はメソッド名を結構迷いながら付けたという経緯があるので,こんな名前の方がいいんじゃね?というのがあれば是非教えてください.大歓迎です.
特にプラトニック形式にした URI オブジェクトを返すメソッドを platonize としたんだけど,ここが一番悩んだ.
(追記)
id:miyagawa さんから URI::Platonic->new($uri) のほうがいいかもというコメントをいただいたのですが,こんなイメージかな?違ってたら教えてください.
package URI::Platonic; use base 'URI::http'; package main; my $uri = URI::Platonic->new("http://example.com/path/to/resource.html"); $uri = URI::Platonic->new($distinct_uri); $uri->path; # "/path/to/resource" $uri->extension; # "html" $uri->as_string; # "http://example.com/path/to/resource" $uri->distinct; # "http://example.com/path/to/resource.html"