dev/mom0tomo

技術メモ

2018-07-01から1ヶ月間の記事一覧

Rubyのattr_readerについて

読んだもの ref.xaio.jp 学んだこと attr_readerメソッドはアクセサメソッドを定義する。 アクセサメソッドとは、クラスやモジュールにインスタンス変数を読み出すためのメソッドである。 引数には、インスタンス変数名をシンボルか文字列で指定する。 下記…

Rubyのmapとeachの違い

読んだもの manji602.hatenablog.com すごくわかりやすかった。 学んだこと each eachはレシーバ自身が返る。 def each_sample (1..10).to_a.each do |i| i + 10 end end => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] レシーバ i が返っており、インクリメントはされ…

Rubyのelsifとガード節について

コードレビューで、if elseは条件が対称な場合にだけ使った方が良いという指摘を受けた。 # if elseを使うのに適しているものの例 if number.odd? # 奇数の場合の処理 else # 偶数の場合の処理 end 上のように分岐の条件に対称性がある場合はif elseを使う。…

Railsのja.ymlでEnumの内容が被ったら

Enumの内容がかぶると、重複エラーになる。 You tried to define an enum named "monthly" on the model "Room", but this will generate a instance method "monthly?", which is already defined by another enum. こういうときはprefixとsuffixをつけて区…

Decorator Helper 違い

Helperに書かれたメソッドをDecoratorに切り出そうとして、「引数どうするんだっけ」と思った。 Helperだけ、Decoratorだけ0-1で書くときはそれほど迷わないことでも、リファクタリングなど2つ同時に作業するとき意外と迷う。 改めてまとめてみた。 読んだも…

Ruby / Railsで日付と日付の差分を求める

読んだもの www.rubylife.jp 学んだこと Timeクラスか、Dateクラスを使う。 時間まで使いたい場合はTimeクラス、日付だけ使いたい場合はDateクラスを使う。 2つのクラスのオブジェクトに対し、「-」を使って差を取得する(引き算ぽい)。 やりたかったこと …