【发布时间】:2014-11-10 15:09:41
【问题描述】:
我有一个 Ruby/Rails 类 MyBase 定义如下:
module MyModule1
class MyBase < Sinatra::Base
register Sinatra::RespondTo
register Sinatra::CrossOrigin
...
我定义了MyBase的一个子类,并且有一个可以调用的APIsomeAction:
module MyModule1
module MyModule2
class MySubClass < MyModule1::MyBase
post 'someAction' do
...
end
...
为简洁起见,MySubClass 中还有许多其他 API 未在上面显示。
我想计时,然后记录每次命中任何 API 的持续时间。我知道如何使用STATSD rails 模块计时,我也知道如何记录。但是我应该在哪里/如何放置这个计时代码来保持我的代码干燥?我只想写一次,最好在基类中。但我不知道如何定义一个包装子类方法并在子类方法触发时调用的基类方法。
【问题讨论】:
标签: ruby-on-rails ruby oop polymorphism object-oriented-analysis