Commit 311c015d2b009ea5aa8f55c15ecc1038fa466541
1 parent
7dc461ee
Exists in
master
and in
1 other branch
Rubocop: hashes with strings for keys should get pretty alignment too
Showing
13 changed files
with
76 additions
and
75 deletions
Show diff stats
.rubocop.yml
@@ -37,6 +37,7 @@ Style/IndentHash: | @@ -37,6 +37,7 @@ Style/IndentHash: | ||
37 | EnforcedStyle: consistent | 37 | EnforcedStyle: consistent |
38 | 38 | ||
39 | Style/AlignHash: | 39 | Style/AlignHash: |
40 | + EnforcedHashRocketStyle: table | ||
40 | EnforcedColonStyle: table | 41 | EnforcedColonStyle: table |
41 | 42 | ||
42 | Style/SpaceAroundOperators: | 43 | Style/SpaceAroundOperators: |
app/mailers/mailer.rb
@@ -5,12 +5,12 @@ require Rails.root.join('config/routes.rb') | @@ -5,12 +5,12 @@ require Rails.root.join('config/routes.rb') | ||
5 | class Mailer < ActionMailer::Base | 5 | class Mailer < ActionMailer::Base |
6 | helper ApplicationHelper | 6 | helper ApplicationHelper |
7 | 7 | ||
8 | - default :from => Errbit::Config.email_from, | ||
9 | - 'X-Errbit-Host' => Errbit::Config.host, | ||
10 | - 'X-Mailer' => 'Errbit', | 8 | + default :from => Errbit::Config.email_from, |
9 | + 'X-Errbit-Host' => Errbit::Config.host, | ||
10 | + 'X-Mailer' => 'Errbit', | ||
11 | 'X-Auto-Response-Suppress' => 'OOF, AutoReply', | 11 | 'X-Auto-Response-Suppress' => 'OOF, AutoReply', |
12 | - 'Precedence' => 'bulk', | ||
13 | - 'Auto-Submitted' => 'auto-generated' | 12 | + 'Precedence' => 'bulk', |
13 | + 'Auto-Submitted' => 'auto-generated' | ||
14 | 14 | ||
15 | def err_notification(error_report) | 15 | def err_notification(error_report) |
16 | @notice = NoticeDecorator.new error_report.notice | 16 | @notice = NoticeDecorator.new error_report.notice |
@@ -19,9 +19,9 @@ class Mailer < ActionMailer::Base | @@ -19,9 +19,9 @@ class Mailer < ActionMailer::Base | ||
19 | count = error_report.problem.notices_count | 19 | count = error_report.problem.notices_count |
20 | count = count > 1 ? "(#{count}) " : "" | 20 | count = count > 1 ? "(#{count}) " : "" |
21 | 21 | ||
22 | - errbit_headers 'App' => @app.name, | 22 | + errbit_headers 'App' => @app.name, |
23 | 'Environment' => @notice.environment_name, | 23 | 'Environment' => @notice.environment_name, |
24 | - 'Error-Id' => @notice.err_id | 24 | + 'Error-Id' => @notice.err_id |
25 | 25 | ||
26 | mail to: @app.notification_recipients, | 26 | mail to: @app.notification_recipients, |
27 | subject: "#{count}[#{@app.name}][#{@notice.environment_name}] #{@notice.message.truncate(50)}" | 27 | subject: "#{count}[#{@app.name}][#{@notice.environment_name}] #{@notice.message.truncate(50)}" |
@@ -31,10 +31,10 @@ class Mailer < ActionMailer::Base | @@ -31,10 +31,10 @@ class Mailer < ActionMailer::Base | ||
31 | @deploy = deploy | 31 | @deploy = deploy |
32 | @app = AppDecorator.new deploy.app | 32 | @app = AppDecorator.new deploy.app |
33 | 33 | ||
34 | - errbit_headers 'App' => @app.name, | ||
35 | - 'Environment' => @deploy.environment, | 34 | + errbit_headers 'App' => @app.name, |
35 | + 'Environment' => @deploy.environment, | ||
36 | 'Deploy-Revision' => @deploy.revision, | 36 | 'Deploy-Revision' => @deploy.revision, |
37 | - 'Deploy-User' => @deploy.username | 37 | + 'Deploy-User' => @deploy.username |
38 | 38 | ||
39 | mail to: @app.notification_recipients, | 39 | mail to: @app.notification_recipients, |
40 | subject: "[#{@app.name}] Deployed to #{@deploy.environment} by #{@deploy.username}" | 40 | subject: "[#{@app.name}] Deployed to #{@deploy.environment} by #{@deploy.username}" |
@@ -49,9 +49,9 @@ class Mailer < ActionMailer::Base | @@ -49,9 +49,9 @@ class Mailer < ActionMailer::Base | ||
49 | 49 | ||
50 | recipients = @comment.notification_recipients | 50 | recipients = @comment.notification_recipients |
51 | 51 | ||
52 | - errbit_headers 'App' => @app.name, | ||
53 | - 'Environment' => @notice.environment_name, | ||
54 | - 'Problem-Id' => @problem.id, | 52 | + errbit_headers 'App' => @app.name, |
53 | + 'Environment' => @notice.environment_name, | ||
54 | + 'Problem-Id' => @problem.id, | ||
55 | 'Comment-Author' => @user.name | 55 | 'Comment-Author' => @user.name |
56 | 56 | ||
57 | mail to: recipients, | 57 | mail to: recipients, |
app/models/problem.rb
@@ -85,21 +85,21 @@ class Problem | @@ -85,21 +85,21 @@ class Problem | ||
85 | 85 | ||
86 | Problem.where('_id' => id).find_one_and_update({ | 86 | Problem.where('_id' => id).find_one_and_update({ |
87 | '$set' => { | 87 | '$set' => { |
88 | - 'environment' => notice.environment_name, | ||
89 | - 'error_class' => notice.error_class, | ||
90 | - 'last_notice_at' => notice.created_at.utc, | ||
91 | - 'message' => notice.message, | ||
92 | - 'resolved' => false, | ||
93 | - 'resolved_at' => nil, | ||
94 | - 'where' => notice.where, | ||
95 | - "messages.#{message_digest}.value" => notice.message, | ||
96 | - "hosts.#{host_digest}.value" => notice.host, | 88 | + 'environment' => notice.environment_name, |
89 | + 'error_class' => notice.error_class, | ||
90 | + 'last_notice_at' => notice.created_at.utc, | ||
91 | + 'message' => notice.message, | ||
92 | + 'resolved' => false, | ||
93 | + 'resolved_at' => nil, | ||
94 | + 'where' => notice.where, | ||
95 | + "messages.#{message_digest}.value" => notice.message, | ||
96 | + "hosts.#{host_digest}.value" => notice.host, | ||
97 | "user_agents.#{user_agent_digest}.value" => notice.user_agent_string | 97 | "user_agents.#{user_agent_digest}.value" => notice.user_agent_string |
98 | }, | 98 | }, |
99 | '$inc' => { | 99 | '$inc' => { |
100 | - 'notices_count' => 1, | ||
101 | - "messages.#{message_digest}.count" => 1, | ||
102 | - "hosts.#{host_digest}.count" => 1, | 100 | + 'notices_count' => 1, |
101 | + "messages.#{message_digest}.count" => 1, | ||
102 | + "hosts.#{host_digest}.count" => 1, | ||
103 | "user_agents.#{user_agent_digest}.count" => 1 | 103 | "user_agents.#{user_agent_digest}.count" => 1 |
104 | } | 104 | } |
105 | }, return_document: :after) | 105 | }, return_document: :after) |
@@ -110,12 +110,12 @@ class Problem | @@ -110,12 +110,12 @@ class Problem | ||
110 | 110 | ||
111 | atomically do |doc| | 111 | atomically do |doc| |
112 | doc.set( | 112 | doc.set( |
113 | - 'environment' => last_notice.environment_name, | ||
114 | - 'error_class' => last_notice.error_class, | 113 | + 'environment' => last_notice.environment_name, |
114 | + 'error_class' => last_notice.error_class, | ||
115 | 'last_notice_at' => last_notice.created_at, | 115 | 'last_notice_at' => last_notice.created_at, |
116 | - 'message' => last_notice.message, | ||
117 | - 'where' => last_notice.where, | ||
118 | - 'notices_count' => notices_count.to_i > 1 ? notices_count - 1 : 0 | 116 | + 'message' => last_notice.message, |
117 | + 'where' => last_notice.where, | ||
118 | + 'notices_count' => notices_count.to_i > 1 ? notices_count - 1 : 0 | ||
119 | ) | 119 | ) |
120 | 120 | ||
121 | CACHED_NOTICE_ATTRIBUTES.each do |k, v| | 121 | CACHED_NOTICE_ATTRIBUTES.each do |k, v| |
config/deploy.example.rb
@@ -46,7 +46,7 @@ namespace :errbit do | @@ -46,7 +46,7 @@ namespace :errbit do | ||
46 | 46 | ||
47 | { | 47 | { |
48 | 'config/newrelic.example.yml' => 'config/newrelic.yml', | 48 | 'config/newrelic.example.yml' => 'config/newrelic.yml', |
49 | - 'config/unicorn.default.rb' => 'config/unicorn.rb' | 49 | + 'config/unicorn.default.rb' => 'config/unicorn.rb' |
50 | }.each do |src, target| | 50 | }.each do |src, target| |
51 | unless test("[ -f #{shared_path}/#{target} ]") | 51 | unless test("[ -f #{shared_path}/#{target} ]") |
52 | upload! src, "#{shared_path}/#{target}" | 52 | upload! src, "#{shared_path}/#{target}" |
db/migrate/201510290041_extract_issue_tracker.rb
1 | class ExtractIssueTracker < Mongoid::Migration | 1 | class ExtractIssueTracker < Mongoid::Migration |
2 | TRACKER_MAPPING = { | 2 | TRACKER_MAPPING = { |
3 | - 'ErrbitTracPlugin::IssueTracker' => 'trac', | 3 | + 'ErrbitTracPlugin::IssueTracker' => 'trac', |
4 | 'IssueTrackers::BitbucketIssuesTracker' => 'bitbucket', | 4 | 'IssueTrackers::BitbucketIssuesTracker' => 'bitbucket', |
5 | - 'IssueTrackers::FogbugzTracker' => 'fogbugz', | ||
6 | - 'IssueTrackers::GithubIssuesTracker' => 'github', | ||
7 | - 'IssueTrackers::GitlabTracker' => 'gitlab', | ||
8 | - 'IssueTrackers::JiraTracker' => 'jira', | ||
9 | - 'IssueTrackers::LighthouseTracker' => 'lighthouse', | ||
10 | - 'IssueTrackers::PivotalLabsTracker' => 'pivotal', | ||
11 | - 'IssueTrackers::RedmineTracker' => 'redmine', | ||
12 | - 'IssueTrackers::UnfuddleTracker' => 'unfuddle' | 5 | + 'IssueTrackers::FogbugzTracker' => 'fogbugz', |
6 | + 'IssueTrackers::GithubIssuesTracker' => 'github', | ||
7 | + 'IssueTrackers::GitlabTracker' => 'gitlab', | ||
8 | + 'IssueTrackers::JiraTracker' => 'jira', | ||
9 | + 'IssueTrackers::LighthouseTracker' => 'lighthouse', | ||
10 | + 'IssueTrackers::PivotalLabsTracker' => 'pivotal', | ||
11 | + 'IssueTrackers::RedmineTracker' => 'redmine', | ||
12 | + 'IssueTrackers::UnfuddleTracker' => 'unfuddle' | ||
13 | } | 13 | } |
14 | 14 | ||
15 | def self.up | 15 | def self.up |
@@ -29,9 +29,9 @@ class ExtractIssueTracker < Mongoid::Migration | @@ -29,9 +29,9 @@ class ExtractIssueTracker < Mongoid::Migration | ||
29 | 29 | ||
30 | tracker = { | 30 | tracker = { |
31 | 'type_tracker' => TRACKER_MAPPING[type], | 31 | 'type_tracker' => TRACKER_MAPPING[type], |
32 | - 'options' => options, | ||
33 | - 'updated_at' => updated_at, | ||
34 | - 'created_at' => created_at | 32 | + 'options' => options, |
33 | + 'updated_at' => updated_at, | ||
34 | + 'created_at' => created_at | ||
35 | } | 35 | } |
36 | 36 | ||
37 | App.where(_id: app.id).update("$set" => { issue_tracker: tracker }) | 37 | App.where(_id: app.id).update("$set" => { issue_tracker: tracker }) |
lib/airbrake_api/v3/notice_parser.rb
@@ -45,9 +45,9 @@ module AirbrakeApi | @@ -45,9 +45,9 @@ module AirbrakeApi | ||
45 | def server_environment | 45 | def server_environment |
46 | { | 46 | { |
47 | 'environment-name' => context['environment'], | 47 | 'environment-name' => context['environment'], |
48 | - 'hostname' => hostname, | ||
49 | - 'project-root' => context['rootDirectory'], | ||
50 | - 'app-version' => context['version'] | 48 | + 'hostname' => hostname, |
49 | + 'project-root' => context['rootDirectory'], | ||
50 | + 'app-version' => context['version'] | ||
51 | } | 51 | } |
52 | end | 52 | end |
53 | 53 | ||
@@ -57,12 +57,12 @@ module AirbrakeApi | @@ -57,12 +57,12 @@ module AirbrakeApi | ||
57 | ) | 57 | ) |
58 | 58 | ||
59 | { | 59 | { |
60 | - 'cgi-data' => environment, | ||
61 | - 'session' => params['session'], | ||
62 | - 'params' => params['params'], | ||
63 | - 'url' => url, | 60 | + 'cgi-data' => environment, |
61 | + 'session' => params['session'], | ||
62 | + 'params' => params['params'], | ||
63 | + 'url' => url, | ||
64 | 'component' => context['component'], | 64 | 'component' => context['component'], |
65 | - 'action' => context['action'] | 65 | + 'action' => context['action'] |
66 | } | 66 | } |
67 | end | 67 | end |
68 | 68 |
lib/tasks/errbit/demo.rake
@@ -34,9 +34,9 @@ namespace :errbit do | @@ -34,9 +34,9 @@ namespace :errbit do | ||
34 | backtrace = [] | 34 | backtrace = [] |
35 | 99.times {|t| | 35 | 99.times {|t| |
36 | backtrace << { | 36 | backtrace << { |
37 | - 'number' => t.hash % 1000, | ||
38 | - 'file' => "/path/to/file.rb", | ||
39 | - 'method' => RANDOM_METHODS.sample.to_s | 37 | + 'number' => t.hash % 1000, |
38 | + 'file' => "/path/to/file.rb", | ||
39 | + 'method' => RANDOM_METHODS.sample.to_s | ||
40 | }} | 40 | }} |
41 | backtrace | 41 | backtrace |
42 | end | 42 | end |
@@ -51,8 +51,8 @@ namespace :errbit do | @@ -51,8 +51,8 @@ namespace :errbit do | ||
51 | backtrace: random_backtrace, | 51 | backtrace: random_backtrace, |
52 | request: { | 52 | request: { |
53 | 'component' => 'main', | 53 | 'component' => 'main', |
54 | - 'action' => 'error', | ||
55 | - 'url' => "http://example.com/post/#{[111, 222, 333].sample}" | 54 | + 'action' => 'error', |
55 | + 'url' => "http://example.com/post/#{[111, 222, 333].sample}" | ||
56 | }, | 56 | }, |
57 | server_environment: { 'environment-name' => Rails.env.to_s }, | 57 | server_environment: { 'environment-name' => Rails.env.to_s }, |
58 | notifier: { name: "seeds.rb" }, | 58 | notifier: { name: "seeds.rb" }, |
spec/acceptance/acceptance_helper.rb
@@ -7,9 +7,9 @@ OmniAuth.config.test_mode = true | @@ -7,9 +7,9 @@ OmniAuth.config.test_mode = true | ||
7 | 7 | ||
8 | def mock_auth(user = "test_user", token = "abcdef") | 8 | def mock_auth(user = "test_user", token = "abcdef") |
9 | OmniAuth.config.mock_auth[:github] = Hashie::Mash.new( | 9 | OmniAuth.config.mock_auth[:github] = Hashie::Mash.new( |
10 | - 'provider' => 'github', | ||
11 | - 'uid' => '1763', | ||
12 | - 'extra' => { | 10 | + 'provider' => 'github', |
11 | + 'uid' => '1763', | ||
12 | + 'extra' => { | ||
13 | 'raw_info' => { | 13 | 'raw_info' => { |
14 | 'login' => user | 14 | 'login' => user |
15 | } | 15 | } |
spec/controllers/api/v3/notices_controller_spec.rb
@@ -16,7 +16,7 @@ describe Api::V3::NoticesController, type: :controller do | @@ -16,7 +16,7 @@ describe Api::V3::NoticesController, type: :controller do | ||
16 | post :create, legit_body, legit_params | 16 | post :create, legit_body, legit_params |
17 | notice = Notice.last | 17 | notice = Notice.last |
18 | expect(JSON.parse(response.body)).to eq( | 18 | expect(JSON.parse(response.body)).to eq( |
19 | - 'id' => notice.id.to_s, | 19 | + 'id' => notice.id.to_s, |
20 | 'url' => app_problem_url(app, notice.problem) | 20 | 'url' => app_problem_url(app, notice.problem) |
21 | ) | 21 | ) |
22 | end | 22 | end |
spec/lib/airbrake_api/v3/notice_parser_spec.rb
@@ -21,16 +21,16 @@ describe AirbrakeApi::V3::NoticeParser do | @@ -21,16 +21,16 @@ describe AirbrakeApi::V3::NoticeParser do | ||
21 | expect(report.message).to eq('Error: TestError') | 21 | expect(report.message).to eq('Error: TestError') |
22 | expect(report.backtrace.lines.size).to eq(9) | 22 | expect(report.backtrace.lines.size).to eq(9) |
23 | expect(notice.user_attributes).to include( | 23 | expect(notice.user_attributes).to include( |
24 | - 'Id' => 1, | ||
25 | - 'Name' => 'John Doe', | ||
26 | - 'Email' => 'john.doe@example.org', | 24 | + 'Id' => 1, |
25 | + 'Name' => 'John Doe', | ||
26 | + 'Email' => 'john.doe@example.org', | ||
27 | 'Username' => 'john' | 27 | 'Username' => 'john' |
28 | ) | 28 | ) |
29 | expect(notice.session).to include('isAdmin' => true) | 29 | expect(notice.session).to include('isAdmin' => true) |
30 | expect(notice.params).to include('returnTo' => 'dashboard') | 30 | expect(notice.params).to include('returnTo' => 'dashboard') |
31 | expect(notice.env_vars).to include( | 31 | expect(notice.env_vars).to include( |
32 | 'navigator_vendor' => 'Google Inc.', | 32 | 'navigator_vendor' => 'Google Inc.', |
33 | - 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36' | 33 | + 'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36' |
34 | ) | 34 | ) |
35 | end | 35 | end |
36 | 36 |
spec/models/error_report_spec.rb
@@ -128,12 +128,12 @@ describe ErrorReport do | @@ -128,12 +128,12 @@ describe ErrorReport do | ||
128 | # <var key="id"/> | 128 | # <var key="id"/> |
129 | # </var> | 129 | # </var> |
130 | expected = { | 130 | expected = { |
131 | - 'secure' => 'false', | ||
132 | - 'httponly' => 'true', | ||
133 | - 'path' => '/', | ||
134 | - 'expire_after' => nil, | ||
135 | - 'domain' => nil, | ||
136 | - 'id' => nil | 131 | + 'secure' => 'false', |
132 | + 'httponly' => 'true', | ||
133 | + 'path' => '/', | ||
134 | + 'expire_after' => nil, | ||
135 | + 'domain' => nil, | ||
136 | + 'id' => nil | ||
137 | } | 137 | } |
138 | expect(subject.env_vars).to have_key('rack_session_options') | 138 | expect(subject.env_vars).to have_key('rack_session_options') |
139 | expect(subject.env_vars['rack_session_options']).to eql(expected) | 139 | expect(subject.env_vars['rack_session_options']).to eql(expected) |
spec/models/notice_observer_spec.rb
@@ -7,20 +7,20 @@ describe "Callback on Notice", type: 'model' do | @@ -7,20 +7,20 @@ describe "Callback on Notice", type: 'model' do | ||
7 | backtrace: [ | 7 | backtrace: [ |
8 | { | 8 | { |
9 | "number" => "425", | 9 | "number" => "425", |
10 | - "file" => "[GEM_ROOT]/callbacks.rb", | 10 | + "file" => "[GEM_ROOT]/callbacks.rb", |
11 | "method" => "__callbacks" | 11 | "method" => "__callbacks" |
12 | } | 12 | } |
13 | ], | 13 | ], |
14 | request: { "component" => "application" }, | 14 | request: { "component" => "application" }, |
15 | server_environment: { | 15 | server_environment: { |
16 | - "project-root" => "/path/to/sample/project", | 16 | + "project-root" => "/path/to/sample/project", |
17 | "environment-name" => "development" | 17 | "environment-name" => "development" |
18 | }, | 18 | }, |
19 | api_key: api_key, | 19 | api_key: api_key, |
20 | notifier: { | 20 | notifier: { |
21 | - "name" => "Hoptoad Notifier", | 21 | + "name" => "Hoptoad Notifier", |
22 | "version" => "2.3.2", | 22 | "version" => "2.3.2", |
23 | - "url" => "http://hoptoadapp.com" | 23 | + "url" => "http://hoptoadapp.com" |
24 | }, | 24 | }, |
25 | framework: "Rails: 3.2.11" | 25 | framework: "Rails: 3.2.11" |
26 | } | 26 | } |
spec/views/problems/show.html.haml_spec.rb
@@ -33,7 +33,7 @@ describe "problems/show.html.haml", type: 'view' do | @@ -33,7 +33,7 @@ describe "problems/show.html.haml", type: 'view' do | ||
33 | } | 33 | } |
34 | let(:trackers) { | 34 | let(:trackers) { |
35 | { | 35 | { |
36 | - 'github' => github_tracker, | 36 | + 'github' => github_tracker, |
37 | 'pivotal' => pivotal_tracker | 37 | 'pivotal' => pivotal_tracker |
38 | } | 38 | } |
39 | } | 39 | } |