class Lita::Interactors::CreateService

Create a new service with the given data, validating does not exist any service with the same name

Attributes

data[R]

Public Class Methods

new(handler, data) click to toggle source
# File lib/lita/interactors/create_service.rb, line 13
def initialize(handler, data)
  @handler = handler
  @data = data
end

Public Instance Methods

perform() click to toggle source
# File lib/lita/interactors/create_service.rb, line 18
def perform
  if service_exists?
    @error = msg_duplicated(service_name: name)
  else
    @message = create_service
  end
  self
end

Private Instance Methods

build_service() click to toggle source
# File lib/lita/interactors/create_service.rb, line 47
def build_service
  {
    name: name,
    value: value,
    state: 'active',
    customers: {}
  }
end
create_service() click to toggle source
# File lib/lita/interactors/create_service.rb, line 41
def create_service
  service = build_service
  repository.add(service)
  service
end
name() click to toggle source
# File lib/lita/interactors/create_service.rb, line 29
def name
  @name ||= data[1]
end
service_exists?() click to toggle source
# File lib/lita/interactors/create_service.rb, line 37
def service_exists?
  repository.exists?(name)
end
value() click to toggle source
# File lib/lita/interactors/create_service.rb, line 33
def value
  @value ||= data[2].to_i
end