行動すれば次の現実

ほどよくモダンなシステム開発を目指しています。メインテーマは生産性、Ruby、Javascriptです。

Ruby

Rubyで文字列がURL形式かどうか正規表現でチェックする | Rails

rubyで文字列がURL形式であるかチェックするには URI::DEFAULT_PARSER.make_regexp.matchを使用すれば良いです。 引数に渡された文字列がURI形式であるかチェックできます。 URI形式であればMatchDataオブジェクト、違う場合はnilが返却されます。 > URI::DE…

RailsアプリでRubyバージョンアップする方法(2.6 to 2.7)

この記事では、Railsアプリをrbenvを使用してv2.6.8からv2.7.4にアップグレードする方法を説明します。 インストールされているrubyのバージョンアップを確認する rbenv versions インストール可能なrubyのバージョン一覧を確認する rbenv install --list-al…

CSV.generateでUTF-8からShift−JISに変換したときの文字コード変換エラーを回避する

CSV.generateメソッドでUTF-8の文字列をShift-JISに変換して書き込もうとしたら U+2613 from UTF-8 to Windows-31J というエラーが発生した。 docs.ruby-lang.org 上記リファレンスに記載の通り、そのまま使うと文字コード変換で失敗する可能性があるので、…

クエリ文字列から特定のパラメータを削除したい | Ruby On Rails

クエリ文字列から特定のパラメータのみを削除したいことがあったのでメモ。 実装 uri = URI.parse('https://www.example.com?hoge=1&fuga=2&piyo=3') query = Rack::Utils.parse_nested_query(uri.query) query.delete('fuga') uri.query = query.to_param u…

RubyとJavascriptにおけるHashの順序保証の違い

RubyとJavascriptではHashの順序保証が言語のバージョンによって異なる。 昨今、バックエンドでRubyを利用し、フロントエンドはJavascriptという、いわゆるSPAで開発するケースが増えている。 RubyでHashを返して、JavascriptでHash(オブジェクトリテラル)を…

静的クラスっぽくRubyのモジュールを使いたい

Rubyのモジュール(module)といえばミックスインというイメージが強い。 ミックスインは便利だが、わざわざミックスインで組み込まずに、ユーティリティクラスのようにそのままメソッドを呼び出したいケースがある。 (Javaでいう静的クラスを定義して静的メ…