Commit 242fd923457bbb06d7b8fc3810b0868e69afe02f
1 parent
c4a21232
Exists in
master
and in
1 other branch
Issue tracker model should not have any view/render concerns
Showing
1 changed file
with
5 additions
and
20 deletions
Show diff stats
app/models/issue_tracker.rb
| ... | ... | @@ -2,11 +2,6 @@ class IssueTracker |
| 2 | 2 | include Mongoid::Document |
| 3 | 3 | include Mongoid::Timestamps |
| 4 | 4 | |
| 5 | - include Rails.application.routes.url_helpers | |
| 6 | - | |
| 7 | - default_url_options[:host] = ActionMailer::Base.default_url_options[:host] | |
| 8 | - default_url_options[:port] = ActionMailer::Base.default_url_options[:port] | |
| 9 | - | |
| 10 | 5 | embedded_in :app, :inverse_of => :issue_tracker |
| 11 | 6 | |
| 12 | 7 | field :type_tracker, :type => String |
| ... | ... | @@ -14,22 +9,12 @@ class IssueTracker |
| 14 | 9 | |
| 15 | 10 | validate :validate_tracker |
| 16 | 11 | |
| 17 | - ## | |
| 18 | - # Update default_url_option with valid data from the request information | |
| 19 | - # | |
| 20 | - # @param [ Request ] a request with host, port and protocol | |
| 21 | - # | |
| 22 | - def self.update_url_options(request) | |
| 23 | - IssueTracker.default_url_options[:host] = request.host | |
| 24 | - IssueTracker.default_url_options[:port] = request.port | |
| 25 | - IssueTracker.default_url_options[:protocol] = request.scheme | |
| 26 | - end | |
| 27 | - | |
| 28 | 12 | def tracker |
| 29 | - klass = ErrbitPlugin::Registry.issue_trackers[self.type_tracker] | |
| 30 | - klass = ErrbitPlugin::NoneIssueTracker unless klass | |
| 31 | - | |
| 32 | - @tracker = klass.new(app, self.options) | |
| 13 | + @tracker ||= | |
| 14 | + begin | |
| 15 | + klass = ErrbitPlugin::Registry.issue_trackers[self.type_tracker] || ErrbitPlugin::NoneIssueTracker | |
| 16 | + klass.new(self.options) | |
| 17 | + end | |
| 33 | 18 | end |
| 34 | 19 | |
| 35 | 20 | # Allow the tracker to validate its own params | ... | ... |