Commit 4a1146c77b340a7f1a1aa09da273766112b32298
1 parent
d0e170ee
Exists in
master
and in
1 other branch
refactored issue_tracker helper methods
Showing
1 changed file
with
10 additions
and
19 deletions
Show diff stats
app/helpers/application_helper.rb
1 | 1 | module ApplicationHelper |
2 | - | |
3 | - | |
4 | - def lighthouse_tracker? object | |
5 | - object.issue_tracker_type == "lighthouseapp" | |
6 | - end | |
7 | - | |
2 | + | |
8 | 3 | def user_agent_graph(error) |
9 | 4 | tallies = tally(error.notices) {|notice| pretty_user_agent(notice.user_agent)} |
10 | 5 | create_percentage_table(tallies, :total => error.notices.count) |
11 | 6 | end |
12 | - | |
7 | + | |
13 | 8 | def pretty_user_agent(user_agent) |
14 | 9 | (user_agent.nil? || user_agent.none?) ? "N/A" : "#{user_agent.browser} #{user_agent.version}" |
15 | 10 | end |
16 | - | |
11 | + | |
17 | 12 | def tally(collection, &block) |
18 | 13 | collection.inject({}) do |tallies, item| |
19 | 14 | value = yield item |
... | ... | @@ -21,7 +16,7 @@ module ApplicationHelper |
21 | 16 | tallies |
22 | 17 | end |
23 | 18 | end |
24 | - | |
19 | + | |
25 | 20 | def create_percentage_table(tallies, options={}) |
26 | 21 | total = (options[:total] || total_from_tallies(tallies)) |
27 | 22 | percent = 100.0 / total.to_f |
... | ... | @@ -29,21 +24,17 @@ module ApplicationHelper |
29 | 24 | .sort {|a, b| a[0] <=> b[0]} |
30 | 25 | render :partial => "errs/tally_table", :locals => {:rows => rows} |
31 | 26 | end |
32 | - | |
27 | + | |
33 | 28 | def total_from_tallies(tallies) |
34 | 29 | tallies.values.inject(0) {|sum, n| sum + n} |
35 | 30 | end |
36 | 31 | private :total_from_tallies |
37 | - | |
38 | - def redmine_tracker? object | |
39 | - object.issue_tracker_type == "redmine" | |
40 | - end | |
41 | 32 | |
42 | - def pivotal_tracker? object | |
43 | - object.issue_tracker_type == "pivotal" | |
33 | + %w(lighthouseapp redmine pivotal fogbugz mingle).each do |tracker| | |
34 | + define_method("#{tracker}_tracker?".to_sym) do |object| | |
35 | + object.issue_tracker_type == tracker | |
36 | + end | |
44 | 37 | end |
45 | 38 | |
46 | - def fogbugz_tracker? object | |
47 | - object.issue_tracker_type == 'fogbugz' | |
48 | - end | |
49 | 39 | end |
40 | + | ... | ... |