class Lita::Interactors::DeleteCustomer
Inscribes a customer in a service
Attributes
data[R]
Public Class Methods
new(handler, data)
click to toggle source
# File lib/lita/interactors/delete_customer.rb, line 12 def initialize(handler, data) @handler = handler @data = data end
Public Instance Methods
perform()
click to toggle source
# File lib/lita/interactors/delete_customer.rb, line 17 def perform if service_exists? delete_customer_if_in_service else @error = msg_not_found(service_name: name) end self end
Private Instance Methods
customer_in_service?()
click to toggle source
# File lib/lita/interactors/delete_customer.rb, line 44 def customer_in_service? service[:customers].keys.include?(customer_name.to_sym) end
customer_name()
click to toggle source
# File lib/lita/interactors/delete_customer.rb, line 32 def customer_name @customer_name ||= data[3].delete('@') end
delete_customer_from_service()
click to toggle source
# File lib/lita/interactors/delete_customer.rb, line 57 def delete_customer_from_service service[:customers].delete(customer_name.to_sym) repository.update(service) @message = I18n.t('lita.handlers.service.delete_customer.success', service_name: name, customer_name: customer_name) end
delete_customer_if_in_service()
click to toggle source
# File lib/lita/interactors/delete_customer.rb, line 48 def delete_customer_if_in_service if customer_in_service? delete_customer_from_service else @error = msg_customer_not_found(service_name: name, customer_name: customer_name) end end
name()
click to toggle source
# File lib/lita/interactors/delete_customer.rb, line 28 def name @name ||= data[1] end
service()
click to toggle source
# File lib/lita/interactors/delete_customer.rb, line 36 def service @service ||= repository.find(name) end
service_exists?()
click to toggle source
# File lib/lita/interactors/delete_customer.rb, line 40 def service_exists? repository.exists?(name) end