Ruby

36.Ruby|instance_of?/is_a?(kind_of?)

instance_of?(klass) -> bool オブジェクトがクラス klass の直接のインスタンスである時、真を返します。 obj.instance_of?(c) が成立する時には、常に obj.kind_of?(c) も成立します。 [PARAM] klass: Classかそのサブクラスのインスタンスです。 class C …

35.Ruby|strptime/strftime

strptime 「文字列」をDate._strptimeを用いて、Timeオブジェクトに変換。 require 'time' Time.strptime('2001-02-03T04:05:06+09:00', '%Y-%m-%dT%H:%M:%S%z') #=> 2001-02-03 06:05:06 +0900 require 'time' Time.strptime('91/5/18 4:13:00', '%Y/%m/%d …

33.Ruby|ループの種類・使い分け

処理が遅くてトランザクションが中断される問題が頻発していて、リファクタリングをする機会に恵まれた。 この機会にRubyのループ処理について不足している知識を補い整理しておきたい。 forよりもeach forとeachの違い まず大きな違いとして、eachはブロッ…

25.Ruby-Grape|declared

RubyのAPIの処理中でよく出てくる。 ぼんやりした理解だったのでおさらい。 Grape allows you to access only the parameters that have been declared by your params block. It filters out the params that have been passed, but are not allowed. Consi…

22.Ruby|presence

フロントから空文字が入ってくるけど、モデルでnilしか受け付けないバリデーションをかけている。 イレギュラーな空文字が入ってくることでエラーが発生するというケースに遭遇。 しかし空文字判定・nil代入をわざわざ条件式を書いて実装したくない…。 そん…

21.Ruby|frozen_string_literal

Rubyファイルの頭に下記のような記述があって、何となくスルーしてたけど改めて見るとこれってどういう役割なんやろ…?と疑問に思ったので整理。 # frozen_string_literal: true まず前提として、Rubyの文字列はミュータブル・つまり破壊的な変更が可能なオ…

15.Ruby|よく使う記号

Rubyのコードを読んでると『よく出てくるけど何だっけコレ?』となって、毎回のように調べている記号がある。 確認しやすいようにここにまとめておこうと思う。 ||= a ||= xxx 自己代入演算子。aが偽か未定義ならば、aにxxxを代入(aが正ならば、代入しない…