0

我想这与“Plain Old Ruby Objects”有关

我为“log_entry”模型构建了以下方法:

  def parse_time(string)
    parts = string.split(":").map(&:to_f)
    parts = [0] + parts if parts.length == 2
    hours, minutes, seconds = parts
    seconds = hours * 3600 + minutes * 60 + seconds
    seconds.to_i
  end

我想将它提取到一个普通的旧 ruby​​ 类中,然后在 rails log_entry 模型类中将此方法用作必要的。

我将把这个类放在哪里,我将如何在 rspec 中测试它?

4

1 回答 1

1

您不需要在 Ruby on Rails 中创建这样的方法。它只是以秒数转换时间(字符串)。

您可以使用Time.parse("23:01").seconds_since_midnight

如果您需要在视图/控制器中快速进行此类转换,您可以为此添加辅助方法:

app/controllers/application_controller.rb

def parse_time(string)
  Time.parse(string).seconds_since_midnight
end
helper_method :parse_time
于 2013-04-28T22:01:53.087 回答