3scale/porta

View on GitHub
app/services/service_update_backend_service.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

class ServiceUpdateBackendService
  def initialize(service)
    @service = service
  end

  def update_state!(state_action)
    service_backend = load_service!
    service_backend.public_send(state_action)
    service_backend.save!
  end

  private

  attr_reader :service

  def load_service
    ThreeScale::Core::Service.load_by_id(service.id)
  end

  def load_service!
    load_service or raise Backend::ServiceNotFound
  end
end