class ErrbitTracPlugin::IssueTracker

Constants

FIELDS
LABEL
NOTE

Public Instance Methods

body_template() click to toggle source
# File lib/errbit_trac_plugin/issue_tracker.rb, line 97
def body_template
  @@body_template ||= ERB.new(File.read(
    File.join(ErrbitTracPlugin.root, 'views', 'trac_body.txt.erb')))
end
check_params() click to toggle source
# File lib/errbit_trac_plugin/issue_tracker.rb, line 53
def check_params
  if fields.detect { |f| self[f[0]].blank? && !f[1][:optional] }
    errors.add :base, 'You must specify all values!'
  end
end
comments_allowed?() click to toggle source
# File lib/errbit_trac_plugin/issue_tracker.rb, line 59
def comments_allowed?
  false
end
configured?() click to toggle source
# File lib/errbit_trac_plugin/issue_tracker.rb, line 45
def configured?
  true
end
create_issue(problem, reported_by = nil) click to toggle source

@param problem Problem

# File lib/errbit_trac_plugin/issue_tracker.rb, line 64
def create_issue(problem, reported_by = nil)
  if reported_by
    reporter = reported_by.name
  else
    reporter = "errbit"
  end

  client = Trac.new(params['base_url'], params['username'], params['password'])

  ticket_id = client.tickets.create(issue_title(problem),
                                    body_template.result(binding), {
    :type => params['issue_kind'],
    :reporter => reporter,
    :keywords => "errbit",
  })

  problem.update_attributes(
    :issue_link => link_for_issue(ticket_id),
    :issue_type => label
  )
end
fields() click to toggle source
# File lib/errbit_trac_plugin/issue_tracker.rb, line 37
def fields
  FIELDS
end
label() click to toggle source
# File lib/errbit_trac_plugin/issue_tracker.rb, line 33
def label
  LABEL
end
note() click to toggle source
# File lib/errbit_trac_plugin/issue_tracker.rb, line 49
def note
  NOTE
end
url() click to toggle source
# File lib/errbit_trac_plugin/issue_tracker.rb, line 41
def url
  params["base_url"]
end