Allow Cellar to message short codes

Stephen Paul Weber created

Change summary

lib/trust_level.rb     | 10 +++++-----
lib/welcome_message.rb |  4 +++-
sgx_jmp.rb             |  6 +++---
3 files changed, 11 insertions(+), 9 deletions(-)

Detailed changes

lib/trust_level.rb 🔗

@@ -94,8 +94,8 @@ module TrustLevel
 			false
 		end
 
-		def send_message?(*)
-			false
+		def send_message?(tel, *)
+			!tel.start_with?("+")
 		end
 
 		def validate_credit_card_transaction!(amount, declines)
@@ -141,7 +141,7 @@ module TrustLevel
 			rate <= 0.02 && concurrency < 1
 		end
 
-		def send_message?(messages_today)
+		def send_message?(_tel, messages_today)
 			messages_today < 40
 		end
 
@@ -199,7 +199,7 @@ module TrustLevel
 			concurrency < 10 ? :anyroute : false
 		end
 
-		def send_message?(messages_today)
+		def send_message?(_tel, messages_today)
 			messages_today < 700
 		end
 
@@ -308,7 +308,7 @@ module TrustLevel
 			rate <= @max_rate && concurrency < 4 ? :anyroute : false
 		end
 
-		def send_message?(messages_today)
+		def send_message?(_tel, messages_today)
 			messages_today < 500
 		end
 

lib/welcome_message.rb 🔗

@@ -23,7 +23,9 @@ class WelcomeMessage
 	end
 
 	def warning
-		return if @trust_level.support_call?(0, 0) && @trust_level.send_message?(0)
+		if @trust_level.support_call?(0, 0) && @trust_level.send_message?("+1", 0)
+			return
+		end
 
 		"\n\nYour account is activated for inbound calls and texts, but you " \
 		"won't be able to call out or send a text until you receive at least " \

sgx_jmp.rb 🔗

@@ -404,8 +404,8 @@ def find_from_and_to_customer(from, to)
 	}
 end
 
-def usage_guard(m, customer, trust_level, usage)
-	return if trust_level.send_message?(usage[:today]) && usage[:body] < 5
+def usage_guard(m, to, customer, trust_level, usage)
+	return if trust_level.send_message?(to, usage[:today]) && usage[:body] < 5
 
 	log.warn "OverLimit", m
 
@@ -434,7 +434,7 @@ message do |m|
 			TrustLevelRepo.new.find(customer),
 			customer.incr_message_usage(1, m.body)
 		]).then { |(tl, usage)|
-			usage_guard(m, customer, tl, usage)
+			usage_guard(m, m.to.node.to_s, customer, tl, usage)
 		}.then do
 			customer.stanza_from(m)
 		end