indilog

Ruby/Rails/React/Goなどに関して自分が勉強したことなどを投稿しています

2018-01-01から1年間の記事一覧

Layout/EmptyLineAfterGuardClause

Rubocopの0.59.0からLayout/EmptyLineAfterGuardClauseというcopがデフォルトになったみたい github.com 早期リターンの後に行を空けると、どこまでが早期リターンで、どこからが中身の処理なのかがわかりやすくなるから良いよね

STIを利用している場合のFactoryBotのfactory定義について

STIを活用しているモデルは、スーパークラスでfactoryを定義して、テストでオブジェクトの比較をすると、スーパークラスのままのものと、 サブクラスに変換されているものとの比較になってしまうことがあり、そのためテストが落ちることがある 以下のように…

RSpecのexpectとis_expectedの挙動の違いについて

subject(:actual_object) { ... } it { is_expected.to eq(expected_object) } と subject(:actual_object) { ... } it { expect(actual_object).to eq(expected_object) } では挙動が異なるという話 上の方を actual_object と expected_object を同じ属性…

Model周りのRSpecを書く時に意識していること

正しい方法かはわからないけど、最近Model周りのテストコードを書いていて自分でしっくりくるような書き方を考え出したのでつらつらと書いていきたい テストコードの基本形 あるModel内のインスタンスメソッドをテストする場合の基本形としては、このような…

Shrineでdelete_rawプラグイン使用時に元の画像を削除せずにseedデータを作成する

seed_fuを利用し、 Model.seed do |s| s.image = File.new(image_path) end としてseedデータ登録時にShrineを用いて画像を登録するようにしていたら、 seedデータ作成時にdelete_rawのプラグインを入れていたため、元のファイルが削除される形になってしま…

Heroku PostgreでStagingのデータをReview Appsにimportする方法

herokuのreview appsを使っていて、review appsでstagingにあるデータをそのまま使ってデータがある状態で検証を行いたいと思い、とりあえずインポートする方法を探してみたところ、以下の方法でできた 手順 Stagingのherokuの管理画面からOverview⇨Heroku P…

peco+historyで便利なhistory

設定 brew install peco でpecoをインストール ~/.zshrc で以下を追記 function peco-select-history() { BUFFER=$(\history -n -r 1 | peco --query "$LBUFFER") CURSOR=$#BUFFER zle clear-screen } zle -N peco-select-history bindkey '^r' peco-select-…

みんなのGo言語 Day3

今日もつらつらと読んだことをメモ的に書いていく Goを始める 学習方法 A Tour of Go を一通りやってみる ドキュメント を読む プロジェクトを始める時に気をつけること リポジトリ名は小文字にする リポジトリのディレクトリ構造は $GOPATH/src/{レポジトリ…

みんなのGo言語 Day2

エディタと開発環境 今回はgoで開発する際に使われるlint系のツールやエディタでよく使われているツールの紹介だった vetとgolint vetはエラーの可能性がある箇所を指摘してくれるツール vet - The Go Programming Language golintはスタイルなどを指摘して…

みんなのGo言語 Day1

1.1 開発環境の設定 Goのインストール 前やった時にここら辺のインストールは終わってた $GOPATHの設定 ここの設定も前やった時に実施済みだった でもよくあるGOPATHの設定場所とかが載ってるの地味に嬉しいと思う。正しいものとかはないかもだけど、ベスト…

みんなのGo言語 Day0

RailsとReactをただひたすら書き続けるのに疲れ、刺激を求め何か新しいものにチャレンジしたく、 A Tour of Go を一度さらっとやってみた後に表紙のGopherに惹かれこちらの本を買ってみた スローペースな感じになりそうだけど、とりあえず記録のためにそれぞ…

BEMの書き方についてちょっとだけ勉強

BEMとは BEMとは Block 、Element 、 Modifier の頭文字を取ったもので、構成する要素をそのどれかに当てはめて命名していく方法。 それぞれの要素 Block 構成のルートとなる要素 継承元のクラス Element Blockに所属する子要素 単体だと存在できない Block…