2

私はこの方法を持っています:

  def self.get_image(product_id)
    self.initialize

    product_id=product_id.to_s
    if @image_db.key?(product_id)
      if Time.now.to_i - @image_db[product_id][':cached_at'] > @refresh_period
        puts Time.now.to_i - @image_db[product_id][':cached_at']
        self.cache_image(product_id)
      else
        return @image_db[product_id][':uri']
      end
    else
      self.cache_image(product_id)
    end
  end

if-elseステートメントの代わりにガード句を使用すると、rubocop エラーが発生します。これを行う最良の方法は何ですか?

私はこのコードを考えていました:

  def self.get_image(product_id)
    self.initialize

    product_id=product_id.to_s
    return if @image_db.key?(product_id)
    return if Time.now.to_i - @image_db[product_id][':cached_at'] > @refresh_period
    puts Time.now.to_i - @image_db[product_id][':cached_at']
    self.cache_image(product_id)
  end

しかし、この行は決して呼び出されません:

return @image_db[product_id][':uri']
4

1 に答える 1