日本語

shared_context はその名前の通りコンテキスト (テストを行なうときの状況) を共有するための機能です。 shared_context を使うことで複数箇所にちらばる同一処理をまとめることができます。shared_context は shared_context が書かれたファイルを require することでも使えるようになるので別のスペックファイルでも使うことができます。

#git #git #conflict #merge

git pullとかgit mergeでコンフリクトとなったファイルを編集して、git add、git commitすればいいです。コミットメッセージも必要です。 git mergetoolでビジュアルのDiffソフトで差分を見れたり修正したりできます。  コミットログはこんな感じです。SVNとは違ってコミットログに残るのが何か慣れないです。

$ git log --oneline
63bc3d1 fixed merge conflict
bbfdd9e edit in master
3dcfb2f edit in work
9eedc58 made a
#mac #shortcut #tab

こんなシナリオを想像してみてください。Editorを終了しようとするときに「Don’t Save, Cancel, Save…」のダイアログが出るはずです、その時フォーカスはSaveにあり、Tabでは移動できないからしょうがなくマウスでクリックしてしまう。。これがTabで遷移して操作できたらいいなぁ〜を解決する方法です。

System Preferences -> Keyboard -> Full Keyboard AccessのAll controlsを有効に設定します!

Keyboard All controls

そこでの説明文の通り「In windows and dialogs, press Tab to move keyboard focus between All controls」、Tabであらゆるウィンドウやダイアログのキーボードフォーカスを移動することができます。

Control using tab focus

上記のようなダイアログが出るとしたら、Tab(Shift + Tab)で薄青色のフォーカスを移動して、スペースキーで該当の操作を実行できます。通常の青色はフォーカスの位置と関係なくreturnキーで操作を実行できます。

これでマウスなしでらくらく。

#rails #ruby #log

Overview

rails serverで起動する時に盛りだくさんの情報がログに出力されるので、別ファイルで自分がデバッグしたい情報だけをそこに出力する方法です。この方法でtail -f log/custom.logで監視できます

ソースコード

参考

http://robaldred.co.uk/2009/01/custom-log-files-for-your-ruby-on-rails-applications/ http://ianma.wordpress.com/2009/04/08/custom-logging-in-ruby-on-rails/

#checkbox #css #iphone #safari

Webkit-baseのブラウザ(Safari, Google Chrome)に適用します。

普通のcheckboxはiphoneのようなスマートフォンで見るときとても小さいです。checkboxはcssでheightやwidthを指定しても効かないため、ちょっとしたトリックが必要です。

実機ではこんなふうになります。2.0, 1.5, 1.0の3つのサンプルです。

#useragent #safari #safari

SafariのPreferences-> Advancedタブで”Show Develop menu in menu bar”をチェックします。

Safari-show-develop-menu-in-menu-bar

これでSafariのメニューバーのDevelopメニューでUser Agentを切り替えることができます。

Safari-change-useragent

自分のログは無くしたので@yuum3のログを引用させて頂きます。

  #  executing "find /home/rails_apps/todo31/releases/20110912141706/public/images /home/rails_apps/todo31/releases/20110912141706/public/stylesheets /home/rails_apps/todo31/releases/20110912141706/public/javascripts -exec touch -t 201109121417.06 {} ';'; true"
    servers: *"176.32.95.168"*
    *176.32.95.168* executing command
###  *err :: 176.32.95.168* find:
###  *err :: 176.32.95.168* `/home/rails_apps/todo31/releases/20110912141706/public/images'
###  *err :: 176.32.95.168* : No such file or directory
###  *err :: 176.32.95.168*
###  *err :: 176.32.95.168* find:
###  *err :: 176.32.95.168* `/home/rails_apps/todo31/releases/20110912141706/public/stylesheets'
###  *err :: 176.32.95.168* : No such file or directory
###  *err :: 176.32.95.168*
###  *err :: 176.32.95.168* find:
###  *err :: 176.32.95.168* `/home/rails_apps/todo31/releases/20110912141706/public/javascripts'
###  *err :: 176.32.95.168* : No such file or directory
###  *err :: 176.32.95.168*

Githubにも載ってましたエラーは無視しても大丈夫そうですが、下記の一行をdeploy.rbに追記すればエラー出なくなります。

# in config/deploy.rb
set :normalize_asset_timestamps, false