make_schema_at が external クラスも読むようになっている

既存のDBに接続してテーブル情報などを取得して、DBIx::Class::Schema のテーブルクラスを作成してくれる Schema::Loader の make_schema_at が自分で定義した外部クラスファイルも見てくれるようになっていた。

perl -Ilib -MDBIx::Class::Schema::Loader=make_schema_at,dump_to_dir:tmp -e 'make_schema_at("MyApp::Schema", { components => [qw/ResultSetManager UTF8Columns/]}, ["dbi:mysql:myapp","root"])'

などとすると、./tmp にスキーマクラスをダンプしてくれるのだけど、-Ilib している中にすでに MyApp::Schema::User とかがかいてあると、それも作成するクラスにくっつけてくれる。

便利だ。

by typester / at 2006-11-24T13:35:00 / perl · dbic / Comment

HTML::Widget

試用中。

perlコード内でフォーム生成するのは違和感ありすぎるし、気に入らない。うーむ。

by typester / at 2006-11-24T01:25:00 / perl / Comment

DBIx::Class vs mysql vs UTF-8

DBIx::Class vs mysql vs UTF-8

それ、0.7以降(多分)ならconnectionやconnect上書きしなくてもこうかけるよ。

__PACKAGE__->connection(
    'dbi:mysql:foo',
    'root',
    {
        on_connect_do => ['SET NAMES utf8'],
    },
);
by typester / at 2006-11-21T12:06:00 / perl · dbic / Comment

HTML::TreeBuilderのエスケープ処理がよくなっている

CLON - 2006/10/08 - HTML::TreeBuilderいいんだけど。。

のやつ、最近の更新で直ってるみたいだ。

HTML::Widget を試してみようとインストールしようとしたら、エスケープ関係のテストでこけて、それを追ってみたら気づいた。

by typester / at 2006-11-19T11:11:00 / perl / Comment

--- ONLY 消し忘れ

追加実装をしているときのテスト書くときは結構 --- ONLY とか消し忘れてそのままコミットしてしまうなぁ。

デフォルトで出来るテストスクリプトにそれのチェックするのも入れるかな。

他になんかあるかな。

by typester / at 2006-10-25T12:10:00 / perl / Comment

prototype &

run {
    my $block = shift;
    is(process($block->foo), $block->bar, $block->name);
};

って引数に関数渡せる。

これは perldoc perlsub の Prototypes の項目に載ってる

An "&" requires an anonymous subroutine, which, if passed as the first argument, does not require the "sub" keyword or a subsequent comma.

プロトタイプで & を第一引数に指定した場合その無名関数には sub つけなくても良い。

これは割と使えそうだ。

たとえば、STDERRとかになんか出力しちゃううざいモジュールを使ってtestを書いているときに

sub execute(&) {
    my ($out, $err);
    tie_output( *STDOUT, $out );
    tie_output( *STDERR, $err );

    my $res = shift->();

    untie *STDOUT;
    untie *STDERR;

    $res;
}

とか作っとくと

my $res = execute { $suck_module_output_stderr->method };

とかでSTDERRだすことなくそのモジュールのテストかける。いいのー。

grep とかな実装しかあんまりみないから新鮮に見えるのかな。

by typester / at 2006-10-16T22:21:00 / perl / Comment

OSXもうだめかもわからん

run_like が成功するときと失敗するときがあってこまった。

run_like input => 'results';

みたいなときなんかinputのフィルタがかからないときがあったりして失敗してるくさく、なんだと思ったら、うちのOSXの問題だったみたいだ。

use_ok を1個するだけのテストでも何回もやってるとこけたりする。ひどい。。

こけるときも毎回違う出力。

$ prove -lv t/04simpleuse.t
t/04simpleuse....dubious
        Test returned status 0 (wstat 10, 0xa)
FAILED--1 test script could be run, alas--no output ever seen

とかよくわからんのだったり、

$ prove -lv t/04simpleuse.t
zsh: segmentation fault  prove -lv t/04simpleuse.t

セグフォってみたり。。

$ prove -lv t/04simpleuse.t
Operator or semicolon missing before %opts at /System/Library/Perl/5.8.6/Pod/Usage.pm line 487.
Ambiguous use of % resolved as operator % at /System/Library/Perl/5.8.6/Pod/Usage.pm line 487.
Bareword "key3" not allowed while "strict subs" in use at /System/Library/Perl/5.8.6/Pod/Usage.pm line 482.
Bareword "opts" not allowed while "strict subs" in use at /System/Library/Perl/5.8.6/Pod/Usage.pm line 482.
Compilation failed in require at /usr/bin/prove line 12.
BEGIN failed--compilation aborted at /usr/bin/prove line 12.

こんなすごいのもでたよ。

再起動したらとりあえずなんか直ったくさいけど。もー、やばいわうちのmac。

HDDぶっこわれてんかなーとおもってfsckってみたけど問題なさげだったし。なんだろうほんと。

by typester / at 2006-10-16T20:18:00 / perl · osx / Comment

Test::Base

のpod一通り読んで、手持ちのアプリのテストを書いてみたりした。

なるほど、なかなか良いわぁ。簡単なテストはフィルタちょろっと書くだけでOKってのはいいな。

大抵のモジュールはSYNOPSIS見れば大体使い方がわかるものだけど(というかそういう風に書くよね)、Test::Baseはドキュメント読んでからじゃないとSYNOPSIS意味不明だったりするのもingyクオリティ。

あと、ドキュメントにもちらほらtypoが。

by typester / at 2006-10-12T02:40:00 / perl · test / Comment

はてなブックマーク - CLON - 2006/10/08 - 手軽にモジュールのバージョンを得る perl -MDBIx::Class\ 999

kdaiba Perl perldocのどこに書いてあるんだろう

  • perldoc -f use
  • perldoc perlrun (の-Mのところ)

とかでしょうか。

by typester / at 2006-10-09T20:33:00 / perl / Comment

手軽にモジュールのバージョンを得る perl -MDBIx::Class\ 999

$ perl -MDBIx::Class\ 999 DBIx::Class version 999 required--this is only version 0.07002. BEGIN failed--compilation aborted.

なるほど、こうすれば手軽にモジュールのバージョンを得られるのか。(バージョン指定のuse)

自分の使ってるマシンではaliasでモジュールのバージョンを求めるの設定してるのでいらないけど、そうじゃないところで使うのによさそう。

by typester / at 2006-10-08T10:39:00 / perl / Comment

9 10 11 12 13 14 15 16 17 18

(Page 13 of 30)