Skip to content
This repository was archived by the owner on Jun 2, 2021. It is now read-only.

Commit 07835db

Browse files
Brian ButzFelisiaM
authored andcommitted
v3(services): pass error handler in instead of hoping its there
[#172144638](https://www.pivotaltracker.com/story/show/172144638)
1 parent 9beb23a commit 07835db

4 files changed

Lines changed: 32 additions & 14 deletions

File tree

app/actions/mixins/service_instance_create.rb

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,17 @@ def validate_quotas!(e)
1919
raise VCAP::CloudController::ServiceInstanceCreateManaged::UnprocessableCreate.new_from_details(code) unless code.nil?
2020
end
2121

22-
def validation_error!(error, name:)
22+
def validation_error!(
23+
error,
24+
name:,
25+
validation_error_handler:
26+
)
2327
validate_quotas!(error)
2428

2529
if error.errors.on(:name)&.include?(:unique)
26-
error!("The service instance name is taken: #{name}")
30+
validation_error_handler.error!("The service instance name is taken: #{name}")
2731
end
28-
error!(error.message)
32+
validation_error_handler.error!(error.message)
2933
end
3034
end
3135
end

app/actions/service_instance_create_managed.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,17 @@ def create(message)
5252

5353
pollable_job
5454
rescue Sequel::ValidationFailed => e
55-
validation_error!(e, name: message.name)
55+
validation_error!(e, name: message.name, validation_error_handler: ValidationErrorHandler.new)
5656
end
5757

5858
private
5959

60-
def error!(message)
61-
raise InvalidManagedServiceInstance.new(message)
62-
end
63-
6460
attr_reader :service_event_repository
61+
62+
class ValidationErrorHandler
63+
def error!(message)
64+
raise InvalidManagedServiceInstance.new(message)
65+
end
66+
end
6567
end
6668
end

app/actions/service_instance_create_user_provided.rb

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,19 @@ def create(message)
2929

3030
instance
3131
rescue Sequel::ValidationFailed => e
32-
validation_error!(e, name: message.name)
32+
validation_error!(
33+
e,
34+
name: message.name,
35+
validation_error_handler: ValidationErrorHandler.new
36+
)
3337
end
3438

3539
private
3640

37-
def error!(message)
38-
raise InvalidUserProvidedServiceInstance.new(message)
41+
class ValidationErrorHandler
42+
def error!(message)
43+
raise InvalidUserProvidedServiceInstance.new(message)
44+
end
3945
end
4046

4147
attr_reader :service_event_repository

app/actions/service_instance_update_user_provided.rb

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,21 @@ def update(service_instance, message)
3030
logger.info("Finished updating user-provided service_instance #{service_instance.guid}")
3131
service_instance
3232
rescue Sequel::ValidationFailed => e
33-
validation_error!(e, name: message.name)
33+
validation_error!(
34+
e,
35+
name: message.name,
36+
validation_error_handler: ValidationErrorHandler.new
37+
)
3438
end
3539

3640
private
3741

3842
attr_reader :service_event_repository
3943

40-
def error!(message)
41-
raise UnprocessableUpdate.new(message)
44+
class ValidationErrorHandler
45+
def error!(message)
46+
raise UnprocessableUpdate.new(message)
47+
end
4248
end
4349
end
4450
end

0 commit comments

Comments
 (0)