YAMLでコロン(:)をエスケープする

YAMLで文中にコロンを入れたい時にどうすればよいか。試しにコロンを二つ重ねて::にしたら以下のようなエラーが出てしまってダメだった。

Psych::SyntaxError: (/myproject/config/locales/en.yml): could not find expected ':' while scanning a simple key at line 0000 column 00

単純な話だけれど、YAMLでコロンをエスケープするには、バックスラッシュを前に付ければいい。「\:」というようにすれば、文中でもコロンを使える。

Capistranoでdeployすると”fatal: Could not parse object”と出る

Capistranoで、新しく作ったブランチをデプロイしようとしたらエラーが起きた。例えば以下のような感じ。

$ cap staging deploy -s branch=mybranch
    triggering load callbacks
  * 2013-04-25 11:51:27 executing `staging'
    (中略)
    [my-deploy-server.example.com] executing command
 ** [my-deploy-server.example.com :: out] fatal: Could not parse object '4n58rzpt8w4iuvzdau5hylb82gsxxvg7hhcjyucc'.
    command finished in 7935ms

“fatal: Could not parse object”の行は赤字で表示される。この問題の原因は、Capistrano側で設定されているgitのリポジトリに引数で指定されたブランチが存在していないことだった。自分の場合は、ローカルでちゃんと$ git push origin mybranchを実行してから再度cap deployを実行することで、問題が解決した。

なにもしていないのにbundle installに失敗する

特に何もした覚えがないのに(←こういう時はたいてい何かやっている)、土日空けで$bundle exec rspec ~~~の実行に失敗した。仕方がないので$ bundle installを実行したところ、以下のようなエラーを吐いてしまった。

続きを読む なにもしていないのにbundle installに失敗する

Rubyで深い階層のディレクトリを一気につくる

Rubyで深い階層のディレクトリを一気につくるには、FileUtils.mkdir_pを使う。
参考URL: http://doc.ruby-lang.org/ja/1.9.3/class/FileUtils.html

require 'fileutils'
FileUtils.mkdir_p('./public/images/')

./publicディレクトリが存在しない場合は、publicディレクトリをつくった上でimagesディレクトリを生成する。

Sinatra用のテンプレートつくった

SinatraでWebアプリケーションを作ろうとしていつも一から作るのもナンセンスなので、自分用のテンプレートを作った。とはいっても、shokaiさんの作っていたsinatra-templateをフォークしてオレオレ改造を施しただけ。

githubにあります。
https://github.com/akiroom/sinatra-template

Webアプリケーション開発に明るくないので、何か変なところがあったらご指摘いただけると嬉しいです。

続きを読む Sinatra用のテンプレートつくった

twitterのアイコンを東京アメッシュの画像にする

@akiroomのtwitterアカウントのアイコンに自分の実写画像を使っていますが、毒にも薬にもならないどうでもいい写真なので、どうせなら梅雨の時期に役に立つように東京アメッシュの画像にしようと思いました。コードをgithubにも公開してあるので、東京都水道局の許可がもらえた人はぜひ使ってみてください。

https://github.com/akiroom/twitter-amesh

ちなみに@akiroomのtwitterアイコンとして使ってもいいかどうか確認したところ却下されたため、私はtwitterアイコンを東京アメッシュにできません。悲しい。

続きを読む twitterのアイコンを東京アメッシュの画像にする