Teng 0.19
メンテナになってからしばらくパッチあてたりしつつ放っておいたのですが、0.19 として出しました。
Teng::Row が結構書き変えられているので、そのへんちょっと気をつけて使ったほうがいいかもしれないです。inflate/deflate まわりの挙動をまともにしたつもりです。今までなんとなく動いていた感じだったので…… それにともなって set/get というメソッドが追加されています
また、kazeburo さんのパッチにより is_changed メソッドが追加されています。これにより実際は update しなくてもいいケースを簡単に判定しやすくなっています。デフォルトでは今まで通りなので実際にそうするには呼び出し側で判定をする必要があります。
0.19 には入れず、今後やろうとか思っていること
自分で書いたのは以下あたり。ちょっと冷却期間中です。
Teng::Row を Dumper したときに teng オブジェクトを全部入ってきてだいぶウザイのを inside out で消しさるパッチ。
search_by_sql/search_named は引数でテーブル名を指定して、どの Row インスタンスにするかを Teng に伝えることができますが、コピペとかをしていると実際の SQL の FROM に指定しているものと違うものを指定してバグることがあります。delete メソッドとかを呼ぶと、場合によっては間違って意図しない行を削除してしまうことがあり結構こわいです。
このパッチは指定した SQL に、引数で指定したテーブル名が含まれていなそうなとき (単に文字列として含まれているかどうか) に警告を出すようにするパッチです。
関連エントリー
- Ruby Sequel で生 SQL をメインに使う Sequel はドキュメント見ると SQL そのまま書くやりかたもとクエリビルダを介すやりかたも許されていると感じるので (別に他のライブラ...
- ユーザ由来の構造化データによるSQLインジェクション Kazuho's Weblog: The JSON SQL Injection Vulnerability について。元記事をはっちゃめっち...
- 関連画像を表示 libpuzzle の Perl binding である Image::Libpuzzle を使って関連画像を実装してみた。pHash や ...
- Mockito の any(Class<?> clazz) や anyString() や他の any ナンチャラは型チェックはしない any() 系のマッチャは常に「あらゆるオブジェクト」にマッチします。この挙動は Javadoc にも書いてあって、もしかすると将来的に変更...
- リクエストオブジェクトへ、型を明示するメソッドの追加 ウェブアプリケーションを書くとき、最近はだいたい Plack::Request なりなんなりを継承して、そのプロジェクト専用のリクエスト/レ...