セットプチフォッカ

勉強したアウトプット、ときどきフォッカチオ作っていました

Ruby

Appraisalを使っている状態でもRubyMineのGUIでRSpecを実行する

きっかけ TL:DR; 前提のおさらい Appraisal RubyMineでのRSpec実行 問題点 対応策 scriptを作成する RubyMineにscriptを認識させる 実行結果 感想 きっかけ github.com 先日開発したGemはActiveRecordへの対応を仕様として盛り込んでいるため、Appraisalを使…

Steepで使えるコマンドを見てみよう

資料はこちら speakerdeck.com 昨日omotesando.rb#71で話したネタです。元々はRails7から追加されたActiveModel::APIの話をしようと思っていたんですが、資料作ろうと思った翌日にTechRachoで紹介されていたのでやめました。 資料にも書いたのですが、RubyMi…

日本の地方公共団体コードをパースするGemをリリースしました

作ったもの jp_local_govという日本の地方公共団体コードを市区町村の情報にパースしてくれるGemを作りました。人生初Gemリリースです github.com rubygems.org 「そもそも地方公共団体コードってなんやねん」方も多いと思いますが、 全国地方公共団体コード…

文字列に数値が含まれているか判定する

Rubyである文字列wordに数値が含まれているかどうかをBoolean値で判定するには次のようにする def self.include_number?(word) (word =~ /[0-9]/) != nil end docs.ruby-lang.org String#=~は、正規表現を引数にとり、マッチすればそのインデックスを、そう…

文字列に大文字と小文字が混在していることを判定する

小ネタ。Rubyで書いているけど他の言語でも同じ。 ある文字列wordに大文字と小文字の両方が含まれているかチェックするには wordをすべて大文字にした結果とwordが等しいか(例:IKUMAとikuMaが等しいか) wordをすべて小文字にした結果とwordが等しいか(例…

雑なプログラミング問題(LEET変換プログラム)

ネットで見かけたプログラミング問題をRubyで解いてみました。簡単なテストコードも作ったので、みなさんも是非解いてみてください。 問題 Leet - Wikipediaとは、一部のアルファベットを一定のルールに基づき、数値や記号に変換して表す遊び、仕組みです。 …

RubyMineでライブラリのソースをGrepする方法

ActiveStorageのwith_attached_#{name}がどこに定義されているのか確認する過程で、RubyMineでの調べ方を覚えました。 対象バージョン RubyMine 2020.3.1 Find in Files RubyMineでGrep検索を行うには、編集 | 検索 | パス内検索 ⇧⌘ Fから「Find in Files」…

ActiveRecord::PendingMigrationErrorに初遭遇したので、ちゃんと対処する

ActiveRecord::PendingMigrationErrorに初めて出会ったので、備忘がてらまとめていきます。

【Rails】ActiveRecord::core#==はidを比較する(Rails6.1)

きっかけ ソースをみる Rubyの演算子の優先順位 コメントを眺めてみる まとめ きっかけ <% if @user.id == current_user.id %> フィヨルドブートキャンプの課題で、こんなコードを書いていたら ActiveRecordはデフォルトでid同士を比較するので@user == curr…

Rubocop実行時のparserに関する警告を解消する

環境 macOS:BigSur RubyMine:2020.3 Ruby:2.7.1 Rubocop:1.4.2 parser:2.7.2.0 Rubocopからの警告 Rubocop実行時にいつの間にか、以下の警告が出るようになっていました。 warning: parser/current is loading parser/ruby27, which recognizes warning: 2.7…

zshからの実行時、 Rangeオブジェクトを使った繰り返しで、最後の文字が「%」になって困った