Skip to content

Commit

Permalink
added nitpicks to email notification
Browse files Browse the repository at this point in the history
  • Loading branch information
bjhaid committed Oct 30, 2013
1 parent ac8a049 commit af60291
Show file tree
Hide file tree
Showing 9 changed files with 29 additions and 12 deletions.
2 changes: 1 addition & 1 deletion lib/app/submissions.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def nitpick(key)
unless comment.nitpicker == submission.user
CommentMessage.ship(
instigator: comment.nitpicker,
submission: submission,
target: comment,
site_root: site_root
)
end
Expand Down
2 changes: 1 addition & 1 deletion lib/exercism/use_cases/mute.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def hibernate!
begin
HibernationMessage.ship(
instigator: user,
submission: submission,
target: submission,
site_root: site_root
)
rescue => e
Expand Down
8 changes: 8 additions & 0 deletions lib/services/comment_message.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,12 @@ def template_name
'comment'
end

def submission
@target.submission
end

def nitpick
@target.body
end

end
4 changes: 3 additions & 1 deletion lib/services/email/comment.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
Hi <%= name %>,

Your submission on <%= exercise.name %> in <%= exercise.language %> has received feedback from <%= from %>!
Your submission on <%= exercise.name %> in <%= exercise.language %> has received the following feedback from <%= from %>!

<%= nitpick %>

Visit <%= site_root %>/submissions/<%= submission.key %> to find out more.

Expand Down
6 changes: 5 additions & 1 deletion lib/services/message.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class SubclassMustOverride < StandardError; end

def initialize(options)
@instigator = options.fetch(:instigator)
@submission = options.fetch(:submission)
@target = options.fetch(:target)
@site_root = options.fetch(:site_root)
@intercept_emails = options.fetch(:intercept_emails) { false }
end
Expand All @@ -24,6 +24,10 @@ def recipient
submission.user
end

def submission
@target
end

def to
recipient.email
end
Expand Down
4 changes: 3 additions & 1 deletion test/fixtures/approvals/nitpick_email_body.approved.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
Hi bob,

Your submission on Word Count in ruby has received feedback from alice!
Your submission on Word Count in ruby has received the following feedback from alice!

This is awesome!!!

Visit http://example.com/submissions/KEY to find out more.

Expand Down
11 changes: 6 additions & 5 deletions test/services/comment_message_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,26 @@ class CommentMessageTest < Minitest::Test

FakeUser = Struct.new(:username, :email)
FakeSubmission = Struct.new(:key, :user, :exercise)
FakeComment = Struct.new(:body, :submission)

attr_reader :alice, :submission
attr_reader :alice, :submission, :comment

def setup
super
@alice = FakeUser.new('alice', '[email protected]')

@submission = FakeSubmission.new(
'KEY',
FakeUser.new('bob', '[email protected]'),
Exercise.new('ruby', 'word-count')
Exercise.new('ruby', 'word-count'),
)
@comment = FakeComment.new('This is awesome!!!', @submission)
end

def dispatch
@dispatch ||= CommentMessage.new(
instigator: alice,
submission: submission,
site_root: "http://example.com"
target: comment,
site_root: "http://example.com",
)
end

Expand Down
2 changes: 1 addition & 1 deletion test/services/hibernation_message_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def setup
def dispatch
@dispatch ||= HibernationMessage.new(
instigator: alice,
submission: submission,
target: submission,
site_root: "http://example.com"
)
end
Expand Down
2 changes: 1 addition & 1 deletion test/services/message_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def setup
def test_send_nitpick_email
dispatch = FakeMessage.new(
instigator: locksmith,
submission: submission,
target: submission,
intercept_emails: true,
site_root: 'http://test.exercism.io'
).ship
Expand Down

0 comments on commit af60291

Please sign in to comment.