技術系のネタはPROGRAMMER.KOTAMIYAKE.MEで書くことにしました。
Railsで自作中のブログエンジンを使っています。
為せば成る、為さねば成らぬ何事も
技術系のネタはPROGRAMMER.KOTAMIYAKE.MEで書くことにしました。
Railsで自作中のブログエンジンを使っています。
helperのテストをしていた時にApplicationControllerで設定しているdefault_url_optionsが動いていないという問題が発生。
確かにhelper単体ではcontrollerの動きは関知していないわけで、当然ApplicationControllerの処理は動いていないわけですね。
ということで以下のようなモックを作成して対応しました。
allow(ActionController::Base).to receive(:default_url_options).and_return(locale: I18n.locale)
プロジェクトでredisを使う機会があったのですが、macでredis-serverを起動すると、そのディレクトリにdump.rdbが生成されて困っていました。
とりあえずディレクトリ設定はどうすればいいのか調べてみると、redis.confのdirパラメータに設定するようでした。
http://stackoverflow.com/questions/11737440/location-of-redis-temp-file-for-replication
私はhomebrewでredisをインストールしたので/usr/local/etc/redis.confに設定ファイルが設置されていました。
中身を確認してみると、ちゃんと別の場所に保存するように設定されていました。
# The working directory. # # The DB will be written inside this directory, with the filename specified # above using the 'dbfilename' configuration directive. # # The Append Only File will also be created inside this directory. # # Note that you must specify a directory here, not a file name. dir /usr/local/var/db/redis/
じゃあ実際の設定はどうなっているのか調べてみました。
$ redis-server $ redis-cli 127.0.0.1:6379> config get dir 1) "dir" 2) "/Users/kotamiyake"
カレントディレクトリになっている。。。
さらに調べてみると、どうやらそもそもredis-serverの起動時に設定ファイルのパスを指定してあげる必要があったようです。
$ redis-server /usr/local/etc/redis.conf $ ls /usr/local/var/db/redis/ dump.rdb
ちゃんと設定通りの場所にdump.rdbが生成されました。めでたしめでたし。