上京エンジニアの葛藤

都会に染まる日々

Ruby

Retryable コードリーディング

今年に入ってまた Ruby をメインで書くようになりました。 少しずつ Ruby 力を高めたいので、今回は Retryable という Gem をコードリーディングします。 github.com コード量も少なくて読みやすいです。 概要 Retryable は例外発生時に指定した回数 retry …

simplecov を流し読み

simplecov の流し読みをしたのでまとめておきます。 simplecov simplecov とはテストカバレッジを計測する gem で、計測結果をあらゆるフォーマットで出力してくれます。 Rails と親和性も高く簡単に導入することができます。 github.com コードリーディング…

dotenv-rails を流し読み

前回の記事からかなり期間が空いてしまいました。 dotenv の Gem のコードリーディングをしたので、まとめておきたいと思います。 github.com dotenvとは 説明不要だと思いますが、環境変数をファイル管理することができる Gem で rails 以外の WAF や素のRu…

Base64 Encode を Ruby で再実装する

最近業務でよく Base64 に変換をしているが、A–Z, a–z, 0–9, +, / の文字列に変換されるという程度の知識しかなかった。 良い機会なので、もう少し踏み込んでアルゴリズムを自分で実装して理解を深めていこうと思う。 Base64 とは データを64種類の印字可能…

ruby v2.6.x に上げたら mysql2 も5.x に上げないといけない

最近ようやくruby 2.6.3 に上げました。 一先ず RSpec を走らせてみるとこんな感じでコケたので、まとめておきます。 vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.3/lib/active_record/connection_adapters/mysql/database_statements.rb:34: warning: …

Rails と Cloud Datastore Emulator の接続方法をまとめる

Rails と Cloud Datastore Emulator を接続するのに少し嵌ったのでまとめておきます。 Cloud Datastore Emulator とは GCP のサービスの一つである Cloud Datastore (以下 GCD) をローカル環境で動かすことができるものです。 通常 GCD を動かす場合お金がか…

Enumerable の メソッドを Ruby でいくつか再実装する

先日、銀座rails#9 にお邪魔したところ、とても興味深い LT を見ることができた LT をされていたのは @okuramasafumi さんで、Enumerable モジュール内のメソッドを Ruby で再実装(ライブコーディング)し、どのメソッドを実装するのかもその場で募集して決…

Active Support の String#remove, String#squish, String#truncate のコードリーディングをする

今回は Active Support の core_ext の String拡張である remove, squish, truncate メソッドのコードリーディングをしたのでまとめておきます。 remove 引数に該当するパターンが全て削除される また remove! という破壊的メソッドも用意されており、 それ…

Active Support の Integer の拡張メソッドをコードリーディングする

今回は Active Support の core_ext の Integer の拡張メソッド をコードリーディングしていきます。 ※Active Support 5.2.2 で実行してます。 Integer の拡張メソッドとして挙げられているのは以下になります。 multiple_of? ordinal ordinalize Time クラ…

公開した gem のダウンロード数が気になって業務に集中できないから slack に通知するようにした話

はろー。こんにちは。 ここ数日タイトル通りの感じで落ち着きがありませんでした。 前回公開した記事に理由があります。 okkun-sh.hatenablog.com つまり 初めて 作った gem のダウンロード数が気になって業務に集中できませんでした。 ごめんなさい! 一先…

Scrapbox の Api Client を作って gem で公開した話をざっくりする

はろー。こんにちは。 実は今日誕生日!(おめでとう!) タイトル通り Scrapbox の Api Client を作って gem で公開した話をざっくり書きたくなったので書きます。 scrapbox_client | RubyGems.org | your community gem host github.com Scrapbox とは リ…