From 957ad414b32a9f6f06a4c55a7646f6eb8a39aedb Mon Sep 17 00:00:00 2001 From: uu59 Date: Thu, 15 May 2014 15:27:49 +0900 Subject: [PATCH] Memoize #lastest_version --- app/models/plugin.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/models/plugin.rb b/app/models/plugin.rb index 2855b12..c4eeacb 100644 --- a/app/models/plugin.rb +++ b/app/models/plugin.rb @@ -63,10 +63,13 @@ class Plugin end def latest_version - res = HTTPClient.get("https://rubygems.org/api/v1/versions/#{gem_name}.json") - if res.code == 200 - JSON.parse(res.body).map {|ver| Gem::Version.new ver["number"] }.max.to_s - end + @latest_version ||= + begin + res = HTTPClient.get("https://rubygems.org/api/v1/versions/#{gem_name}.json") + if res.code == 200 + JSON.parse(res.body).map {|ver| Gem::Version.new ver["number"] }.max.to_s + end + end end def self.gemfile_changed?