Skip to content

Commit affd6ec

Browse files
committed
Refactor RouteOptionsMessage
1 parent aa538e7 commit affd6ec

File tree

4 files changed

+18
-20
lines changed

4 files changed

+18
-20
lines changed

app/messages/route_create_message.rb

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'messages/metadata_base_message'
2+
require 'messages/route_options_message'
23

34
module VCAP::CloudController
45
class RouteCreateMessage < MetadataBaseMessage
@@ -68,7 +69,7 @@ def relationships_message
6869
end
6970

7071
def options_message
71-
@options_message ||= RouteOptions.new(options&.deep_symbolize_keys)
72+
@options_message ||= RouteOptionsMessage.new(options&.deep_symbolize_keys)
7273
end
7374

7475
def wildcard?
@@ -91,13 +92,6 @@ def domain_guid
9192
end
9293
end
9394

94-
class RouteOptions < BaseMessage
95-
register_allowed_keys %i[lb_algo]
96-
validates_with NoAdditionalKeysValidator
97-
validates :lb_algo,
98-
inclusion: { in: %w[least-connections round-robin], message: "'%<value>s' is not a supported load-balancing algorithm" },
99-
presence: true,
100-
allow_nil: true
101-
end
95+
10296
end
10397
end
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
require 'messages/metadata_base_message'
2+
3+
module VCAP::CloudController
4+
class RouteOptionsMessage < BaseMessage
5+
register_allowed_keys %i[lb_algo]
6+
validates_with NoAdditionalKeysValidator
7+
validates :lb_algo,
8+
inclusion: { in: %w[least-connections round-robin], message: "'%<value>s' is not a supported load-balancing algorithm" },
9+
presence: true,
10+
allow_nil: true
11+
end
12+
end
Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'messages/metadata_base_message'
2+
require 'messages/route_options_message'
23

34
module VCAP::CloudController
45
class RouteUpdateMessage < MetadataBaseMessage
@@ -9,21 +10,12 @@ def self.options_requested?
910
end
1011

1112
def options_message
12-
@options_message ||= RouteOptions.new(options&.deep_symbolize_keys)
13+
@options_message ||= RouteOptionsMessage.new(options&.deep_symbolize_keys)
1314
end
1415

1516
validates_with OptionsValidator, if: options_requested?
1617

1718
validates_with NoAdditionalKeysValidator
1819

19-
class RouteOptions < BaseMessage
20-
register_allowed_keys %i[lb_algo]
21-
validates_with NoAdditionalKeysValidator
22-
validates :lb_algo,
23-
inclusion: { in: %w[least-connections round-robin], message: "'%<value>s' is not a supported load-balancing algorithm" },
24-
presence: true,
25-
allow_nil: true
26-
end
27-
2820
end
2921
end

spec/unit/messages/validators_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,7 @@ class OptionsMessage < VCAP::CloudController::BaseMessage
534534
register_allowed_keys [:options]
535535

536536
def options_message
537-
VCAP::CloudController::RouteCreateMessage::RouteOptions.new(options&.deep_symbolize_keys)
537+
VCAP::CloudController::RouteCreateMessage::RouteOptionsMessage.new(options&.deep_symbolize_keys)
538538
end
539539

540540
validates_with OptionsValidator

0 commit comments

Comments
 (0)