From d55b077661c7d225711d772cee1717a81728cc09 Mon Sep 17 00:00:00 2001 From: Nick Recobra Date: Tue, 5 Apr 2011 16:31:16 +0400 Subject: [PATCH] Memoizing issue templates. --- app/models/issue_tracker.rb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/models/issue_tracker.rb b/app/models/issue_tracker.rb index f7496ff..44d3bfe 100644 --- a/app/models/issue_tracker.rb +++ b/app/models/issue_tracker.rb @@ -28,7 +28,7 @@ class IssueTracker RedmineClient::Issue.site = account + "/projects/:project_id" issue = RedmineClient::Issue.new(:project_id => project_id) issue.subject = issue_title err - issue.description = ERB.new(File.read(Rails.root + "app/views/errs/redmine_body.txt.erb").gsub(/^\s*/, '')).result(binding) + issue.description = self.class.redmine_body_template.result(binding) issue.save! err.update_attribute :issue_link, "#{RedmineClient::Issue.site.to_s.sub(/#{RedmineClient::Issue.site.path}$/, '')}#{RedmineClient::Issue.element_path(issue.id, :project_id => project_id)}".sub(/\.xml$/, '') end @@ -43,7 +43,7 @@ class IssueTracker ticket = Lighthouse::Ticket.new(:project_id => project_id) ticket.title = issue_title err - ticket.body = ERB.new(File.read(Rails.root + "app/views/errs/lighthouseapp_body.txt.erb").gsub(/^\s*/, '')).result(binding) + ticket.body = self.class.lighthouseapp_body_template.result(binding) ticket.tags << "errbit" ticket.save! @@ -65,4 +65,14 @@ class IssueTracker errors.add(:base, message) end end + + class << self + def lighthouseapp_body_template + @@lighthouseapp_body_template ||= ERB.new(File.read(Rails.root + "app/views/errs/lighthouseapp_body.txt.erb").gsub(/^\s*/, '')) + end + + def redmine_body_template + @@redmine_body_template ||= ERB.new(File.read(Rails.root + "app/views/errs/redmine_body.txt.erb").gsub(/^\s*/, '')) + end + end end -- libgit2 0.21.2