diff --git a/sgx_jmp.rb b/sgx_jmp.rb index 6bf141ad87e3e6c373f619f87bd9022ff40f3965..5013421c6a049d7c00c888f099cedde15002a52d 100644 --- a/sgx_jmp.rb +++ b/sgx_jmp.rb @@ -402,16 +402,20 @@ def find_from_and_to_customer(from, to) end def usage_guard(m, to, customer, trust_level, usage) - return if trust_level.send_message?(to, usage[:today]) && usage[:body] < 5 + over_limit = OverLimit.new(customer, usage) + + unless trust_level.send_message?(to, usage[:today]) + log.warn "OverLimit", m + raise over_limit + end + + return if usage[:body] < 5 log.warn "OverLimit", m - if usage[:body] >= 5 && (m.body.to_s.length < 30 || usage[:body] < 10) - OverLimit.new(customer, usage).notify_admin - return - end + return over_limit.notify_admin if m.body.to_s.length < 30 || usage[:body] < 10 - raise OverLimit.new(customer, usage) + raise over_limit end message do |m|