我有一个标准系统,用于对各种数据集执行计算。很棒的是我可以将这些计算作为 Proc 传递给 perform 方法。这是我想要完成的事情:
class Calculator
include Sidekiq::Worker
def perform rails_model , rails_model_id
obj = Kernel.const_get( rails_model ).find( rails_model_id )
yield( obj )
end
end
Calculator.perform_asyc( "User" , 123 , { |u| u.do_something } )
这种事情是可能的还是不好的做法?我知道直接发送对象是不好的做法,所以我假设发送块也是一个坏主意?