Ruby
経緯 とある修正の影響範囲調査で色々やっていたときの備忘録です。 やり方 たとえばこんな感じ♀️ Method#source_location を使います Faker::Name.method(:name).source_location => ["/Users/fuqda/HogeApp/vendor/bundle/ruby/2.6.5/gems/faker-2.13.0/l…
掲題のやりたいことを実現するスクリプト ※descendantsメソッドはActiveSupportのメソッド descendantsメソッドは、そのレシーバより下位にあるすべてのクラスを返します。 Active Support コア拡張機能 - Railsガイド # Load Dir.glob('app/mailers/**/*.rb…
はじめに えっ..こんな書き方あったのか...となる機会があったので忘れないように書き記しておきます! (高度な内容はたぶんないですw) 検証バージョン 2.6.5 複数の配列を一意の値で結合した配列に変換する 書き方 配列 | 配列2 | 配列3 コンソールでの実行…
概要 全角カナなら2文字・半角カナなら1文字でカウントしてデータを扱いたいケースがあったのでその調査メモ 単純に文字列に対して '文字列'.size をしても全角半角で区別出来ないので、バイトサイズでカウントしてみることにしました。 (半角カナ:1文字1バ…
経緯 異なるクラスであるものの、同じ形式のクラスメソッド呼び出しを共通化したいというケースに直面し、調べることに! # やりたいこと 特定のクラス名.クラスメソッド やり方 小文字の文字列をクラス名の形式にするために classify しても、その結果はま…
経緯 普段の業務でmongoidというActiveRecordとは異なるORM(正確にはODM)を使っています。 当たり前ですが、ActiveRecordを使用しないRailsアプリではActiveRecordの使用を前提としたRailsの機能を使用することが出来ません。 というわけで、ActiveRecord::E…
gemのバージョン mongoid 6.1.1 MongoDBのバージョン Docker使用 mongo:3.6.12 概要 一対多のモデルに対する update_all が正しく動いてなさそう... 雑な例 (実際のコードとは関係ありません) Orderモデルにpending(入金待ち)、complete(決済完了)とcancel(…
発生エラー brewで最新のmondodbをインストールするために brew update を行った後 rails console を実行したら今回のエラーが発生しました。 $ bundle exec rails c /Users/shigeyukifukuda/.rbenv/versions/2.3.8/lib/ruby/2.3.0/irb/completion.rb:10:in …
Rubyのデバッガーを使う -r debug をつけてRubyのファイルを実行するとデバッグモードでファイルを起動することが可能です!!(知らなかった...) $ ruby -r debug 実行ファイル デバッグのやり方 Railsのbinding.pry同様にnext(次へ)やstep(メソッド呼び出しが…
はじめに たまに関数型プログラミング言語の話題になるのですが、そもそもどういったものが関数的であるかについて自分自身理解していませんでした。 ここでは、Rubyの中で「関数的」と言われるメソッドの実行内容を見てみることでプログラミング言語の界隈…
はじめに どうしてもしょうがない時に使う例外の握りつぶし方についてメモ。 例外の握りつぶしとは? 本来エラーで処理が落ちるところを例外をなかったかのように処理を続行させること。 ちなみに当たり前ですが、例外を握りつぶすことで本来の例外が発生し…