どこでもDooor

参加した勉強会 / 読んだ技術書 / 見聞きした備忘録 を気ままに書いていきます

五反田.rb #15 行って来ました

改めてブログを書き始めようと決意しました、Dooorです。

ブログを更新する内容は、

  • 参加した勉強会について
  • 読んだ技術書について
  • 調べたり聞いたりしたことの備忘録

などを気軽に書いていこうと思います。

今回は、昨日参加した 五反田.rb#15(ruby railsの便利メソッドについて) - connpass について書いてみます。

gotanda-rb.connpass.com

なんで行こうと思ったのか

勉強会はしばらく参加してなかったのですが、

  • 社外のエンジニアの人と接点がないこと
  • 社外のエンジニアの人から情報を知る機会がないこと

に危機感を感じ始めて、ご近所で開催してるRubyの勉強会に行ってみようと思い参加しました。

内容

  • 自己紹介
  • 便利なメソッド紹介
  • Active Support コア拡張機能 | Rails ガイド を読む
  • 雑談

みたいな感じでした。

(遅れて参加したので他の参加者の自己紹介聞けなかったのが後悔・・)

便利なメソッド紹介

今回取り上げられていたのはPryの show-method です。

ActiveSupportなどでRubyのメソッドもかなり拡張されているので、
RubyRails初心者の私は、

  • このメソッドってRubyの・・?Railsの・・?

と悩んだり、

  • ActiveRecordcountsize って何が違うの・・?

と悩んだりしてました。

そんな時に、 show-method を使うとこんな悩み解消されます!

#count

pry(main)> show-method ActiveRecord::Calculations#count

From: /hoge/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.7.1/lib/active_record/relation/calculations.rb @ line 38:
Owner: ActiveRecord::Calculations
Visibility: public
Number of lines: 12

def count(column_name = nil, options = {})
  if options.present? && !ActiveRecord.const_defined?(:DeprecatedFinders)
    raise ArgumentError, "Relation#count does not support finder options anymore. " \
                         "Please build a scope and then call count on it or use the " \
                         "activerecord-deprecated_finders gem to enable this functionality."

  end

  # TODO: Remove options argument as soon we remove support to
  # activerecord-deprecated_finders.
  calculate(:count, column_name, options)
end

#size

pry(main)> show-method ActiveRecord::Relation#size

From: /hoge/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.7.1/lib/active_record/relation.rb @ line 257:
Owner: ActiveRecord::Relation
Visibility: public
Number of lines: 3

def size
  loaded? ? @records.length : count(:all)
end

中の実装がどうなってるのか見る癖付けたいなと思います。

参考

qiita.com

Active Support コア拡張機能 | Rails ガイド を読む

スクリーンに映してみんなで眺めました。

マニアックな便利メソッドあったりでいろんな発見あった気がします。

「知ってるか、知らないか」の差が大きい気がするので、
覚えようとは思わず、こんなメソッドあったんだあくらいで知っておこうと思います。

railsguides.jp

雑談

雑談の中で印象に残ったのが、

  • OSSのコード読むの勉強になる

ということです。

実際に参加者の方で読んでて勉強になると教えていただいたのがGitLabです。

github.com

Railsで書かれているし、実際に使っているサービスなので読んでみようと思います。

まとめ

今回勉強会に参加してみて

  • show-mehtod 使って内部実装どうなってるのか知ってみよう
  • Railsガイドちゃんと読もう
  • OSSのコード読んでみよう

を今後意識してみようと思いました。

ブログに書いておくと「あの勉強会で何話してたっけ・・」って時に思い出すためのメモにもなりそうなのでいいなと思いました。

今後も気楽に続けていけたらいいなあと。