SEAN_BLOG

プログラミング etc.

Ruby on Rails

平成Ruby会議01 CfP

面白そうな Advent Calendar を発見したので、せっかくなので残しておこうと思います。 adventar.org ありがたいことに、こちらの CfP は採択されました。 厳正なる選考の結果、「Play with Ruby」の内容でSho ITO様にご登壇いただきたいです。 heiseirb.git…

binding.pry がなぜ動くのか?今更ながら調べてみた

TL;DR binding.pry は、Kernel#binding とObject#pry に分けられる。 Kernel#binding はコンテキストの環境情報を束縛したBinding オブジェクトを返す。 Object#pry はREPL プログラム。 TL;DR そもそも、binding.pry とは? Kernel#binding Object#pry read…

Note to self: ActiveSupport::TimeZone とString での時間の比較

先日TimeZone 周りでハマったので、備忘用にメモします。 結論 内容 所感 結論 Time.zone.parse('2019-01-01') と2019-01-01 は異なる。*1 ActiveSupport::TimeZone とString での時間の比較は注意が必要。 Time.zone.parse は比較対象もTime.zone.parse に…

Ruby kramdown のソースコードリーディング

今回はRuby library のkramdown のソースコードリーディングを行います。 kramdown はMarkdown をparse し、HTML 等任意の形式に変換する事ができるRuby のlibrary です。 普段からMarkdown を書く機会も多く、どの様に実装されているのか気になっておりまし…

Ruby ActiveHash のソースコードリーディング

ActiveHash は、Ruby のHash をActiveRecord-like のモデルとして使用するためのbase class です。 ./lib 以下のコード量は、800行程度ですので決して多くはないと思います。 コードリーディングをするのは初めてですので、このぐらいの量がちょうど良いかな…