cloudfoundry/cloud_controller_ng

View on GitHub
app/actions/stack_create.rb

Summary

Maintainability
A
0 mins
Test Coverage
module VCAP::CloudController
  class StackCreate
    class Error < ::StandardError
    end

    def create(message)
      stack = VCAP::CloudController::Stack.create(
        name: message.name,
        description: message.description
      )

      MetadataUpdate.update(stack, message)

      stack
    rescue Sequel::ValidationFailed => e
      validation_error!(e)
    end

    def validation_error!(error)
      error!('Name must be unique') if error.errors.on(:name)&.include?(:unique)
      error!(error.message)
    end

    def error!(message)
      raise Error.new(message)
    end
  end
end