PIYO - Tech & Life -

Rails

Railsでorder忘れを防止するためのgemを作りました

order、つけ忘れがちですよね。環境が変わると思ってた順番に出なかったりします。 更に厄介なのは、つけ忘れてもなんとなく正しい順番で動いているときで、何かのタイミングで思った順ではなくなってしまうことがあります。というかありました。

seed_dumpを使ったRSpec高速化にはsequenceのリセットが必要だった

先日書いたこれが動かなくなってしまい、よく調べていたらプライマリキー(つまりid)が被って追加できないよってことになってしまったみたいです。 https://blog.piyo.tech/posts/2018-08-16-test-date-with-seed-dump/ 確かに、関連を維持するためにidも含めてテストデータを登録していますので、sequenceの値がおかしくなっていた可能性があり …

Capybaraで別タブで開いたWindowを閉じる

利用規約を確認しないとチェックボックスにチェックできないみたいな仕組みを簡易で作りまして、それのテストを書くときにちょっと迷ったので残しときます。 利用規約のリンクを押すと別タブで規約ページが開くと同時にチェックボックスのdisabledが外れる仕組みになっているとします。

Bootstrap3をwebpackerで使うときにハマったこと

個人のRailsアプリケーションをwebpacker化する際、BootstrapのCSSをwebpackerでimportしようとして少しだけハマったので共有します。 そもそも、yarn add bootstrapとするとBootstrap4系がインストールされますし、yarn add bootstrap@3としてバージョン3系を入れようとすると、SASSではなくLESSのBootstrapがイン …

Rails5.0系の個人プロジェクトをアップグレードしてWebpackerを使うまでにやったこと

個人プロジェクトを最新のRailsアップグレードして、Webpackerを使えるところまでやりました。自分への覚書の意味もこめて。 Railsを5.2までアップグレードする Rails以外のgemをupdateしておく Rails 5.1にアップグレード bin/rails app:updateする 差分を調整する new_framework_defaultsあたりも注意する 軽く動かして警告など …

seed_dumpを使ってRailsのテストデータの読み込みを高速化した

そこそこ複雑なデータを持たないとフィーチャテストを動かせないようなプロジェクトがありまして、きちんとしたデータを作るためにはCSVファイルからデータを取り込んでリレーション作るという必要がありました。 テストケースによってはこれを使わないこともありますが、全体の40%程度はこのデータがないとうまくいかないので、それぞれのテストの前に取り込み処理が入るります。これにより全体を流すのにめちゃくちゃ時間 …

rest-clientで簡易にAPIクライアントを書く

オープンではないサービスのAPIを使うとき、APIクライアントが無いってことが多いです。なのでアプリケーションから使いたいAPIだけを叩くような簡易なAPIクライアントを自分で書きます。そのときはrest-clientあたりを使ってベタっと書いてしまうことがほとんどです。