みなさん、テストしてますか。得意げに Jasmine を紹介して1年以上が経ち、最近はようやくある程度 JavaScript についても TDD が回せるようになってきたかなと感じております。(いつものことながら歩みが遅い。)
さて今回のテーマは
Jasmine gemで特定のファイルを除外したい
です。
jasmine.ymlにはexclude_filesという設定がない
普通に exclude があるだろうと思ってタカをくくっていたのですが、ありませんでした。
- src_dir
- spec_dir
- helpers
- src_files
- spec_files
- stylesheets
しかありません。あるぇ。
src_files で頭に ! を付けると除外される
jasmine-1.1.2/lib/jasmine/config.rb を読んでいると
def match_files(dir, patterns)
dir = File.expand_path(dir)
negative, positive = patterns.partition {|pattern| /^!/ =~ pattern}
chosen, negated = [positive, negative].collect do |patterns|
patterns.collect do |pattern|
matches = Dir.glob(File.join(dir, pattern.gsub(/^!/,'')))
matches.collect {|f| f.sub("#{dir}/", "")}.sort
end.flatten.uniq
end
chosen - negated
end
こんなメソッドを見つけました。ということは jasmine.yml 上ではこうですね。
ex) Railsプロジェクトの場合
src_files:
- public/javascripts/jquery.min.js
- public/javascripts/jquery_ujs.js
- public/javascripts/application.js
- '!public/javascripts/exclude.js'
- public/javascripts/**/*.js
最初 '' で囲まずにいきなり ! を付けてしまったんですが、そうすると YAML の読み込みの段階でコケます。そらそうだ。
これでテストのときに読み込んでほしくない JavaScript を指定することができました。めでたしめでたし。
- 以下の内容を Rails.root/lib/tasks/git.rake に置く
- Rails.root/.gitignore に cache, tmp など除外したいファイルのパターンを追加
以上。
もっといい方があるような気もするけど、今のところ満足。
rake -s git:untracked | xargs git add
とか、まとめてできる。
Zen-Coding という名前だけは知ってはいたけど、実際に動くところを見たら便利そうだったので Emacs で使えるようにしてみた。
この辺りを参考にインストールしてみたけど、なーんでか動かなかった。よくよく読むと -nw では使えないってコメントらしきものが上がっている。そうか、すぐにはどうにもならないか。
ということで .emacs で
(cond (window-system ())
(require 'zencoding-mode))
して組み込むことにした。そのうち -nw でも動くかもしれないけど、とりあえずいいや。
inspiration.com に登録してるのでアップデート案内のメールがきた。IE ってなんだ? International Edition か?とか思いながら試したが、やはり日本語の編集はまともに行えない。(キャレットが1バイトずつ移動する。)
やっぱ OS X じゃ Omni 使うのがいちばんか? OmniGraffle は通常のドローとしてはともかく、アイディアを練る段階では使いにくいし、Outliner は最初から階層的な構造になっている構想しか練ることができない。「カードをばらまいてあとで図にまとめあげる」という使い方にはインスピレーションがいちばんなんだがなぁ。
Just another Ruby porter, の RSS がちっとも返ってこなくなってて、なんでだろうと思っていたんだけど、移転してたのねorz
ちょっと長いけどこのドメイン、いいなぁ。
眼鏡が痛い。なんで鼻当てを付け替えただけなのに、角度が変わってしまうのだろう? 考えたらおかしい話だ。付け根の角度を故意にいじってしまったとしか思えない。
痛いのでまた直してもらった。5回ほど直して鼻の当たりはなんとかなった。が、
今度は耳の後ろが痛い
くっそー。なんかどう考えても以前より絞ってあるぞ。おれは痛いのいやだからわざと緩めてあったんだよ! なんで余計なことするんだ! あーイライラする。
眼鏡技師にランクってないんだろうか。調律師のように優れた眼鏡技師を選ぶことができればいいのに。シューフィッターどころじゃないよ、この眼鏡の調整の重要さは。
と思ったらあった。
あー。やっぱり以前から頼んでいた人はちゃんとプロフェッショナルでしたよ。うむ、やっぱ手間ヒマ掛けて合わせるべきなんだな、眼鏡は。なるほど。
PRESS RELEASE 『MiniDigi(ミニデジ)』新発売 @駒村商会
ほしい!
ここ数年ずっとほしい機種のなかったデジカメだけど、これはほしい! 買う! 5月21日発売予定。電源は CR2 でストレージは SD カード。SD カードとな? これは X40 を買えという啓示か? 近接 50cm かー。もうちょっと寄りたいぞ。巻き上げレバーつき!
学習型メールフィルタの学習状況が表示されるようになった。学習効果よりも基本フィルタの効果の方が大きいのでなんだかくやしい。しかしなかなか面白い機能だな、これ。ほんとはローカルでベイズフィルタ動かせばいいって分かってるんだけど、面倒だし、しばらくこれでいこうと思っている。
『「変化に対応できていない」–ソフトウェア業界のあり方に内部批判』 ビジネスモデルとしての変化の話ですな。ビジネスモデルの変化に対応するためには当然開発モデルも変化しないとダメでしょう。
「多様化で出題ミス急増、6年で7倍 大学入試は傷だらけ」(@asahi.com)から。考えることはいろいろあるな。ネタにさせてもらおう。
まさに bingo. 1.5.7 にしたらログオフしても ssh のセッションが切れなくなった。タスクマネージャでバックグラウンドで動かしていたやつなどあちこちに影響が出ていただけにこれは大きい。
1.5 系リリース後、様子を見て今年に入ってからインストールしたのだが、1.5.6 リリースが 1月19日ということで「もう少し待てば悩まずに済んだ」という間の悪い話だった。あーあ。こういうこともありますか。
Orca です。いや、まぁ、どうでもいい話なんですがね。
- 多くの操作をキーボードで行っている
- 日本語をよく書いている
の2点が揃えば、けっこう簡単に伸びますよ。ざっと勘定すると1月半くらい? 自分では 1日2万 pulse くらいかなぁと思っているので、それだと 50日ですか。ちょっと(速い|多い)ですね。予想より。
Phoenix って名前が変わる話はどうしたのだ。そうこう言ってる間に Chimera の名前が Camino に変わってるし。頑張れ Camino。Safari に負けるな。
それと、Phoenix 0.6 はまだですか? ゆーても何も協力していないので、責めてるわけじゃないっすよ。期待してるよー、というメッセージと取ってもらえば。
いや速い速い。速いのは知っていたけど、以前は Composer が、とか DOM Inspector が、とか理由をつけてなんとなく敬遠していました。設定が [ Edit ] → [ Preferences ] じゃなくて [ Tools ] → [ Preferences ] なのもなんか IE っぽくていやだなぁ、とか。
まーでもそんなのどうでもいいくらいに快適だこりゃ。Opera 7 も速いけどトラックポイントでスクロールできないという、個人的に致命的な症状があるので。
で、とりあえず入れたのはこんなん。
- Alternate Stylesheet Switcher スタイルシートを Mozilla のように切り替える
- LiveHTTPHeaders HTTP の通信の様子を眺める
- Mycroft 正確には Extension じゃねーか。
Mycroft ってなんだろーと思ったのですが、これは MacOS の Sherlock のように、いろんな検索を Phoenix に放り込んでまえ、というものです。Mycroft は Sherlock Holmes の兄の名前です。うまい名前ですが、フツーそんなの気づかないぞ。
で、ここから Google Japan の検索を右上の検索窓に追加できます。これこれ。これができなきゃこんなとこに検索窓がついてる意味ないもんね。
あとこれもあった方が
user.js にて
user_pref ("accessibility.typeaheadfind", false);
user_pref("intl.accept_languages", "ja, en-us");
なんてしておくと私は幸せです。Type Ahead Find をオフにして、多言語なページを想定しているところで日本語を優先的に表示してくれるようになります。(というかこれがないと一部のページは Not Acceptable なんてツレナイ表示が出ます。)
あっという間に内容が増えてしまったので Phoenix ネタはそのうち独立したページにします