Predefを使ったSQLのトレース

山本悠滋

2015-06-04 表参道.rb

こんにちは!

小さな小さなgemを作りました

predefと言います

小さな小さなgemを作りました

使ったことある人ー ( ^ω^)ノ

小さな小さなgemを作りました

リリースまだですけどwww

=> しました! predef

なにするgem?

なにするgem?

例えば…

class SomeExternalClass
  def method_you_know(*args)
    ...
  end
end

なにするgem?

例えば…

Predef.predef SomeExternalClass, :method_you_know do|*args|
  p args
  super(*args)
end

なにするgem?

やってることは実質これ↓と同じ

module Wrapper
  def method_you_know *args
    p args
    super(*args)
  end
end

class SomeExternalClass
  prepend Wrapper
end

なにするgem?

事例

アプリ上で発行されうる全てのSQLと、その場所を把握したい

事例

アプリ上で発行されうる全てのSQLと、その場所を把握したい

事例

アプリ上で発行されうる全てのSQLと、その場所を把握したい

事例

アプリ上で発行されうる全てのSQLと、その場所を把握したい

Tips

まとめ(みなさん向け)

$ gem install predef

まとめ(みなさん向け)

require 'predef'

using Predef::Refinements

Mysql2::Client.predef :query do|sql|
  puts sql if sql =~ /.../
  super(sql)
end

まとめ(私向け)

さっさと bundle exec rake release しなさい。
こちらも終了: predef