issue_tracker.rb
1.05 KB
class IssueTracker
include Mongoid::Document
include Mongoid::Timestamps
include Rails.application.routes.url_helpers
default_url_options[:host] = ActionMailer::Base.default_url_options[:host]
embedded_in :app, :inverse_of => :issue_tracker
field :type_tracker, :type => String
field :options, :type => Hash, :default => {}
##
# Update default_url_option with valid data from the request information
#
# @param [ Request ] a request with host, port and protocol
#
def self.update_url_options(request)
IssueTracker.default_url_options[:host] = request.host
IssueTracker.default_url_options[:port] = request.port
IssueTracker.default_url_options[:protocol] = request.scheme
end
def tracker
@tracker ||= ErrbitPlugin::Register.issue_tracker(self.type_tracker).new(app, self.options)
rescue NameError
ErrbitPlugin::NoneIssueTracker.new(app, {})
end
delegate :configured?, :to => :tracker
delegate :create_issue, :to => :tracker
delegate :label, :to => :tracker
delegate :comments_allowed?, :to => :tracker
end