代码优化/更好的操作类名的方法

我有这段代码很长时间了,我想知道是否有更短或更好的方法来做到这一点。我们有匹配的服务和工作人员,此代码为某些工作人员找到匹配的服务。

def FooWorker
  def service_klass
    self.class.name
        .then(&:underscore)
        .then { |name| name.split('_') }
        .then { |name| name[0...-1] << :service }
        .then { |name| name.join('_') }
        .classify
        .safe_constantize
  end
end

FooWorker.service_klass # -> FooService

回答

你为什么不直接替换WorkerService

def service_klass
  self.class.name.sub(/Workerz/, 'Service').safe_constantize
end


以上是代码优化/更好的操作类名的方法的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>