ホーム > coderepos

codereposのアーカイブ

ex_autocmd.jsにCurrentPageLoad追加とTabLeaveの修正

先日行ったautoIgnoreKeyのDOMContentLoadedの挙動修正ですがはてぶのほうで「ex_autocmd.jsにも適用できると夢が広がりそうだ」といわれていたのでやってみました。

とはいっても

autocmd PageLoad http://reader.livedoor.com/reader.* js liberator.modes.passAllKeys=true;
autocmd TabSelect http://reader.livedoor.com/reader.* js liberator.modes.passAllKeys=true;
autocmd TabLeave http://reader.livedoor.com/reader.* js liberator.modes.passAllKeys=false;

みたいに書いてた人は同様の問題はおこってなかったはず。PageLoad時の動作がldr限定なので。ただし逆にldrをバックグラウンドで開くと関係ないページでpassAllKeysがtrueになって困るということはあったはず。
あと、TabLeaveが
* セッションからのタブ復活をした直後のタブ変更(セッションからの復活ではTabSelectはおこらず。)
* タブの削除(recentTabオブジェクトが破棄されてしまうため)
のときに元のURLが拾えずに正常に動作していなかった様子。

というわけでCurrentPageLoadの追加とTabLeaveの修正をコミットしました。

autocmd CurrentPageLoad http://reader.livedoor.com/reader.* js liberator.modes.passAllKeys=true;
autocmd TabSelect http://reader.livedoor.com/reader.* js liberator.modes.passAllKeys=true;
autocmd TabLeave http://reader.livedoor.com/reader.* js liberator.modes.passAllKeys=false;

こんな風にかくと幸せになれるです。

autoIgnoreKeyのDOMContentLoadedの挙動修正

こんにちはこんにちは。昨日今日といろんな大人の事情でYAPC::Asiaにいけてません><仕事よりYAPCのほうが大切だって気持ちはあるんですが・・・。うぅ・・無念です。

で、全然関係ありませんがちょっと前からFirefox+Vimperatorを活用してます。そこでLDRとかを見るときにvimキーバインドを自動で無効にしてくれる便利ぷらぎんのautoIgnoreKeyを使っていたのですが、LDRでvでフィードを開いてすぐLDRのタブに戻ってきたりするとその後DOMContentLoadedイベントが起こってLDRタブを開いてるのにもかかわらずvimキー有効になってしまっていました。

なので常に今開いているタブのURLを元に判断するように修正してコミットしましたー。これだとこういう状況でダメなんだよ!という方いらっしゃいましたら教えてください。

CodeResposに初めてコミットしたモジュールに初めてpatchを送ってくれたのが異国の方だった件

Codereposにコミットした初めてのモジュールである、「深度が一定ではない階層化されたデータをDBIx::Classで扱えるようにする」DBIx::Class::Tree::NestedSet。その使いどころがニッチすぎるためか、今までこれといったフィードバックは(予想通り)特にありませんでした。

ところが今日このモジュールに初めてpatchを送ってきてくれたのがなんと異国のKevin Bakerなる人物。コードをオープンにするっていうのはこういうことなんだなぁとちょっと感動。英語がからきし駄目な自分ですがKevinさんとコードの中で意思疎通はできたのかなぁと。

今まで異国の方にpatchを送ったことは何度かあったけど送ってもらったのは初めてで、うれしかったのでこんなエントリをたててしまった。今は反省している。

ところで、そのpatchはというとCodeReposのr7130で取り込んであります。見てもらうと分かるのですが恥ずかしいスペルミスとかを直されている部分もあったりするわけですが・・・。

CodeReposにDBIx::Class::Tree::NestedSetをコミットしてみた

てなわけでRubyはやってません

がCodeReposにDBIx::Class::Tree::NestedSetをCommitしてみました。これのアルゴリズムに関しては[mysql 12071] 階層化されたデータをMySQLで扱うを参照ということで省略。ここに書いてあるのと違う点としては、親ノードの付け替え用にmvgフラグを必要としています。(インスパイア From DBIx::OO::Tree)

メソッドはDBIx-Class-Treeパクリ準拠していますのでテストもパクリ準拠してまったく同じ(あ、mvgカラムは追加してるけど)テストを通しています。

あとはDBIx::OO::Tree,DBIx::Tree::NestedSetあたりをパクリ参考にしてみました。

でもってTODOにも書いてるのですが、rootノード取得用にResultSetManagerなメソッドを生やしたいんですがどうすればいいのかが分からない…。もうちょい調べよう。

あとDBIx-Class-TreeのTODO

– DBIx::Class::Tree::NestedSet

ってかかれてるんですがこの場合やっぱ空気読んでCPANには上げないほうがいいのでしょうか。まだCPANあげたこともないのでCPANの空気が読めません><

ホーム > coderepos

検索
フィード
メタ情報

ページの上部に戻る