Skip to content

Commit 3da1be8

Browse files
committed
Intercept log messages and render them
Closes #66
1 parent 56c35f3 commit 3da1be8

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

app/controllers/github_hook_controller.rb

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@ class GithubHookController < ApplicationController
44
skip_before_filter :verify_authenticity_token, :check_if_login_required
55

66
def index
7-
update_repository if request.post?
7+
message_logger = GithubHook::MessageLogger.new(logger)
8+
update_repository(message_logger) if request.post?
9+
messages = message_logger.messages.map { |log| log[:message] }
10+
render(:json => messages)
811

9-
render(:text => 'OK')
1012
rescue ActiveRecord::RecordNotFound => error
1113
render_error_as_json(error, 404)
14+
1215
rescue TypeError => error
1316
render_error_as_json(error, 412)
1417
end
@@ -33,7 +36,7 @@ def render_error_as_json(error, status)
3336
)
3437
end
3538

36-
def update_repository
39+
def update_repository(logger)
3740
updater = GithubHook::Updater.new(parse_payload, params)
3841
updater.logger = logger
3942
updater.call

test/unit/github_hook/updater_test.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,4 +171,15 @@ def test_logs_if_a_logger_is_given
171171

172172
updater.call
173173
end
174+
175+
def test_logs_if_a_message_logger_is_given
176+
updater = GithubHook::Updater.new(payload)
177+
updater.stubs(:exec).returns(true)
178+
179+
logger = GithubHook::MessageLogger.new
180+
updater.logger = logger
181+
182+
updater.call
183+
assert logger.messages.any?, "Should have received messages"
184+
end
174185
end

0 commit comments

Comments
 (0)