生活と仕事
1:00ごろ起床。
テレビの録画を見てからクラブハウスでちょっとお話。
5:00から勤務開始したけど、6:00からちょっと休憩。
Rubyのコードをガシガシ書いてた。FAX対応ってテンションが上がらない。
10:40ごろ帰宅。
家でもRubyのコードをガシガシと。
14:00からプロジェクトのもくもく会を。
Job管理を実装しないといけない感じになってきたので調べていたらPostgreSQLをバックエンドにしたものを見つけた。
Sidekiqもいいんだけど、Redisが必要なのがちょっと面倒だなと思っていたのでこれは良さそう。あと、関係ないけどGood Job!っていう任天堂のゲームを思い出した。
というわけで実装してみた。いい感じでHTTP.rbでresponseにsleepかけてjobでステータスを変えるテストコード書けた。
あと、Railsのcredentialsを一時的に変更する処理も出来た。これはテストコードが元のcredentialsを汚さないために実装した。
# frozen_string_literal: true require 'test_helper' class HogeTest < ActiveSupport::TestCase CredentialsStub = Struct.new(:login_id, :password, :address) def setup # stub credentials @original_credentials = Rails.application.method(:credentials) Rails.application.define_singleton_method(:credentials) do CredentialsStub.new('test', 'test', 'test@example.com') end end def teardown # revert to original method Rails.application.define_singleton_method(:credentials, @original_credentials) end test "hogehoge" do ... end end
これの注意点としてはdefine_singleton_methodで上書きしているのでもちろんここで指定していないメソッド(Rails.application.credentials.aws.access_key_idとか)が消えてしまうこと。あくまで一時的な物として利用する必要がある。
気づいたら今日12時間以上働いていた。やばいやばい。
明日は糖尿病の結果を聞きに行くので今日は早めに休もう。この後英会話あるけど!