Commit 7f0137d2fa3334f61ed6b92823400222f053b6e1
1 parent
b0b24717
Exists in
master
and in
1 other branch
Use constants instead of methods in issue tracker models.
Showing
7 changed files
with
20 additions
and
14 deletions
Show diff stats
app/models/issue_trackers/fogbugz_tracker.rb
1 | class FogbugzTracker < IssueTracker | 1 | class FogbugzTracker < IssueTracker |
2 | - def self.label; "fogbugz"; end | 2 | + Label = "fogbugz" |
3 | + RequiredFields = %w(project_id account username password) | ||
3 | 4 | ||
4 | def check_params | 5 | def check_params |
5 | - if %w(project_id account username password).detect {|f| self[f].blank? } | 6 | + if RequiredFields.detect {|f| self[f].blank? } |
6 | errors.add :base, 'You must specify your FogBugz Area Name, FogBugz URL, Username, and Password' | 7 | errors.add :base, 'You must specify your FogBugz Area Name, FogBugz URL, Username, and Password' |
7 | end | 8 | end |
8 | end | 9 | end |
app/models/issue_trackers/github_tracker.rb
1 | class GithubTracker < IssueTracker | 1 | class GithubTracker < IssueTracker |
2 | - def self.label; "github"; end | 2 | + Label = "github" |
3 | + RequiredFields = %w(project_id username api_token) | ||
3 | 4 | ||
4 | def check_params | 5 | def check_params |
5 | - if %w(project_id username api_token ).detect {|f| self[f].blank? } | 6 | + if RequiredFields.detect {|f| self[f].blank? } |
6 | errors.add :base, 'You must specify your Github repository, username and API token' | 7 | errors.add :base, 'You must specify your Github repository, username and API token' |
7 | end | 8 | end |
8 | end | 9 | end |
app/models/issue_trackers/lighthouse_tracker.rb
1 | class LighthouseTracker < IssueTracker | 1 | class LighthouseTracker < IssueTracker |
2 | - def self.label; "lighthouseapp"; end | 2 | + Label = "lighthouseapp" |
3 | + RequiredFields = %w(account api_token project_id) | ||
3 | 4 | ||
4 | def check_params | 5 | def check_params |
5 | - if %w(account api_token project_id).detect {|f| self[f].blank? } | 6 | + if RequiredFields.detect {|f| self[f].blank? } |
6 | errors.add :base, 'You must specify your Lighthouseapp account, API token and Project ID' | 7 | errors.add :base, 'You must specify your Lighthouseapp account, API token and Project ID' |
7 | end | 8 | end |
8 | end | 9 | end |
app/models/issue_trackers/mingle_tracker.rb
1 | class MingleTracker < IssueTracker | 1 | class MingleTracker < IssueTracker |
2 | - def self.label; "mingle"; end | 2 | + Label = "mingle" |
3 | + RequiredFields = %w(account project_id username password) | ||
3 | 4 | ||
4 | def check_params | 5 | def check_params |
5 | - if %w(account project_id username password).detect {|f| self[f].blank? } or !ticket_properties_hash["card_type"] | 6 | + if RequiredFields.detect {|f| self[f].blank? } or !ticket_properties_hash["card_type"] |
6 | errors.add :base, 'You must specify your Mingle URL, Project ID, Card Type (in default card properties), Sign-in name, and Password' | 7 | errors.add :base, 'You must specify your Mingle URL, Project ID, Card Type (in default card properties), Sign-in name, and Password' |
7 | end | 8 | end |
8 | end | 9 | end |
app/models/issue_trackers/pivotal_labs_tracker.rb
1 | class PivotalLabsTracker < IssueTracker | 1 | class PivotalLabsTracker < IssueTracker |
2 | - def self.label; "pivotal"; end | 2 | + Label = "pivotal" |
3 | + RequiredFields = %w(api_token project_id) | ||
3 | 4 | ||
4 | def check_params | 5 | def check_params |
5 | - if %w(api_token project_id).detect {|f| self[f].blank? } | 6 | + if RequiredFields.detect {|f| self[f].blank? } |
6 | errors.add :base, 'You must specify your Pivotal Tracker API token and Project ID' | 7 | errors.add :base, 'You must specify your Pivotal Tracker API token and Project ID' |
7 | end | 8 | end |
8 | end | 9 | end |
app/models/issue_trackers/redmine_tracker.rb
1 | class RedmineTracker < IssueTracker | 1 | class RedmineTracker < IssueTracker |
2 | - def self.label; "redmine"; end | 2 | + Label = "redmine" |
3 | + RequiredFields = %w(account api_token project_id) | ||
3 | 4 | ||
4 | def check_params | 5 | def check_params |
5 | - if %w(account api_token project_id).detect {|f| self[f].blank? } | 6 | + if RequiredFields.detect {|f| self[f].blank? } |
6 | errors.add :base, 'You must specify your Redmine URL, API token and Project ID' | 7 | errors.add :base, 'You must specify your Redmine URL, API token and Project ID' |
7 | end | 8 | end |
8 | end | 9 | end |
app/views/errs/show.html.haml
@@ -13,9 +13,9 @@ | @@ -13,9 +13,9 @@ | ||
13 | - content_for :action_bar do | 13 | - content_for :action_bar do |
14 | - if @err.app.issue_tracker_configured? | 14 | - if @err.app.issue_tracker_configured? |
15 | - if @err.issue_link.blank? | 15 | - if @err.issue_link.blank? |
16 | - %span= link_to 'create issue', create_issue_app_err_path(@app, @err), :method => :post, :class => "#{@app.issue_tracker.class.label}_create create-issue" | 16 | + %span= link_to 'create issue', create_issue_app_err_path(@app, @err), :method => :post, :class => "#{@app.issue_tracker.class::Label}_create create-issue" |
17 | - else | 17 | - else |
18 | - %span= link_to 'go to issue', @err.issue_link, :class => "#{@app.issue_tracker.class.label}_goto goto-issue" | 18 | + %span= link_to 'go to issue', @err.issue_link, :class => "#{@app.issue_tracker.class::Label}_goto goto-issue" |
19 | = link_to 'unlink issue', unlink_issue_app_err_path(@app, @err), :method => :delete, :confirm => "Unlink err issues?", :class => "unlink-issue" | 19 | = link_to 'unlink issue', unlink_issue_app_err_path(@app, @err), :method => :delete, :confirm => "Unlink err issues?", :class => "unlink-issue" |
20 | - if @err.unresolved? | 20 | - if @err.unresolved? |
21 | %span= link_to 'resolve', resolve_app_err_path(@app, @err), :method => :put, :confirm => err_confirm, :class => 'resolve' | 21 | %span= link_to 'resolve', resolve_app_err_path(@app, @err), :method => :put, :confirm => err_confirm, :class => 'resolve' |