(個人的な観測範囲からですが)React界隈を中心にデザインシステムなどとともに、Storybookを導入している企業が増えてきているように思います。 自分は直近では、Ruby on RailsでSSRをメインに開発をしていることが多いため、導入がやや難しいと感じていま…
最近、フロントエンドは Vite で開発するのが主流になっていると思いますが、Railsの場合、なあなあでそのまま来ている場合も多いかなと思います。 開発体験の改善ができないかということを考える機会があり、RailsでViteを導入する際の手順を vite_railsを…
Rails では様々な機能を使って、共通化や抽象化、シンプルなコードへの書き換えなどを行えるようになっています。今回はモデルに焦点を絞り、それらをまとめていきたいと思います。また、整理を始める前に気をつけるべきことをまとめておこうと思います。 Ra…
ざっくり migration で指定するデータ型について書いておきます。 型の種類 文字列の扱い 小数の扱い ID パスワードの保存 まとめ 型の種類 Rails の Migration で指定できるデータ型としては一般的に以下があります。(今回の説明のため primary_key は除い…
github.com kaminari といえば、Rails などでページネーションするための gem です。 今回は Rails に導入してみて、ページネーションしてみることにします。 今回は Rails 5.2, kaminari 1.1.1 で行っています。 kaminari をインストールする 確認用に User…
最近は個人アプリ開発だと OpenID Connect などで済ませてしまうかもしれませんが、Ruby on Railsで直接パスワードを記録する際にデフォルトで利用できる has_secure_password メソッドの実装を読んでみました。 読んだのは Rails v5.2.3 になります。 has_s…
もう使い古されたネタという感じですが、Railsを使わずとも ActiveSupport だけを利用してRubyのコードを書くことは結構多いのではないでしょうか。 blank? , present? であったり、 pluralize や try 、 1.year.ago のような呼び出しなど、ヘルパーメソッド…
(今回は本のような形で書いていきます。理由?そうした方が楽しそうだから。) まえがき 参加してきましたよ。「Ruby?スクリプト言語?RubyってRuby on Railsでよく使う言語でしょ?Webアプリケーション作る気ないし、今はやらないかなー」という発言をした…
class Foo def self.createMethod name define_method name do puts name.to_s end end def self.createMethod2 name define_method name do |text| puts name.to_s + text end end createMethod :yes createMethod :no createMethod2 :this end foo = Foo.n…
RubyのObjectクラスに定義されている、dupとcloneという二つのオブジェクトのコピー用のメソッドの動作について確認してみます。バージョンはRuby1.9.2です。 a = Object.new a.freeze # freeze a1 = a.clone a2 = a.dup puts a1.frozen? puts a2.frozen? b …
RubyのMixinがどんな感じかな、ということで試してみた。 # モジュールの定義 module Mod def normal str return "#{self.func str}" end def exclamation str return "#{self.func str}!" end def period str return "#{self.func str}." end end class Foo…