Clean up abstractions

Stephen Paul Weber created

Change summary

lib/admin_actions/number_change.rb | 11 ++++++-----
lib/trivial_backend_sgx_repo.rb    | 24 ++++++++----------------
2 files changed, 14 insertions(+), 21 deletions(-)

Detailed changes

lib/admin_actions/number_change.rb 🔗

@@ -88,12 +88,13 @@ class AdminAction
 		end
 
 		def forward
+			repo = TrivialBackendSgxRepo.new(redis: REDIS)
 			EMPromise.all([
 				new_tel != old_tel && change_catapult_fwd!,
-				TrivialBackendSgxRepo.new(
-					redis: REDIS
-				).put(customer_id, new_backend, new_tel),
-				should_disconnect_old_number? && disconnect_number
+				repo.put(customer_id, new_backend).then { |sgx|
+					sgx.register!(new_tel)
+				},
+				should_disconnect_old_number? && disconnect_bandwidth_number
 			]).then { self }
 		end
 
@@ -119,7 +120,7 @@ class AdminAction
 
 	protected
 
-		def disconnect_number
+		def disconnect_bandwidth_number
 			# Order name is limited to 40 characters
 			# Assuming 12 chars for new_tel and 12 for customer_id, this is tight
 			# but ok

lib/trivial_backend_sgx_repo.rb 🔗

@@ -34,26 +34,18 @@ class TrivialBackendSgxRepo
 		end
 	end
 
-	def put(cid, target_sgx, target_num)
-		get(cid).then(&:deregister!).then {
-			put_jid(cid, target_sgx)
-		}.then {
-			get(cid)
-		}.then { |sgx|
-			sgx.register!(target_num)
-		}
+	def put(customer_id, target_sgx)
+		get(customer_id).then(&:deregister!).then {
+			if target_sgx == CONFIG[:sgx]
+				@redis.del("jmp_customer_backend_sgx-#{customer_id}")
+			else
+				@redis.set("jmp_customer_backend_sgx-#{customer_id}", target_sgx)
+			end
+		}.then { get(customer_id) }
 	end
 
 protected
 
-	def put_jid(cid, target_sgx)
-		if target_sgx == CONFIG[:sgx]
-			@redis.del("jmp_customer_backend_sgx-#{cid}")
-		else
-			@redis.set("jmp_customer_backend_sgx-#{cid}", target_sgx)
-		end
-	end
-
 	def default_jid_creds
 		EMPromise.resolve([@jid, @creds])
 	end