下級エンジニアの綴

新しく発見したことを綴っていこうと思っています。夢はでっかく上級エンジニアになることです。

ruby

Rspecでインスタンスメソッドのテストに苦労したのでメモ

今回はRspecでメソッドのテストをしたかったのですが、メソッド内で定義しているメソッド先の処理のテストは記述したくなかったので、それを解決したメモになります。 rubyのコード # 今回テストしたかったのはTest1のexecuteメソッドになります Class Test1…

railsのhash#tryでちょっと躓いたのでメモ

railsでhashにtryをかけているとエラーが出たので、その時に調べた内容をメモ。(一度先輩に教えてもらった気がするのですが完全に忘れてましたorz 本題 この書き方だとhashにkeyが存在する時は問題無いのですが、 { name: 'yantera' }.try(:fetch, :name) # …

rubyの特異メソッドのprivateについて気になったから調べたのでメモ

特異メソッドでprivateなメソッドを呼ぶ方法 sendを使う privateの特異メソッド、privateのインスタンスメソッドを関係なく呼べる 最終手段な感じがするので、あまり推奨できないと思った class A def self.hoge A.new.send(:fuga) end def self.aaa A.send(…

rubyの多次元hashで指定したkeyを削除する時、ActiveSupportのexceptを使うと便利だったのでメモ

require 'active_support' h = { a: 1, b: 2, c: 3, d: { e: 4, f: { g: 5 }}} p h.except(:a) // {:b=>2, :c=>3, :d=>{:e=>4, :f=>{:g=>5}} p h // {:a=>1, :b=>2, :c=>3, :d=>{:e=>4, :f=>{:g=>5}}} p h[:d].except!(:f) // {:e=>4} p h // {:a=>1, :b=>2,…

rubyのnilを0にしたいときに調べたのでメモ

数値を扱っているときにnilを使いたくないので、調べたらいい感じに行けそうだったのでメモ。 nil.nil? # true nil.to_i # 0 nil.to_i.nil? # false nil.to_s # "" nil.to_s.nil? # false nil.to_s.empty # true rubyって面白いですね。