Module: NATS::Service::Validator
- Defined in:
- lib/nats/service/validator.rb
Constant Summary collapse
- REGEX =
{ name: /[A-Za-z0-9\-_]+$/, version: /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/, subject: /^[^ >]*[>]?$/, queue: /^[^ >]*[>]?$/ }.freeze
Class Method Summary collapse
Class Method Details
.nil?(values, key) ⇒ Boolean
25 26 27 |
# File 'lib/nats/service/validator.rb', line 25 def nil?(values, key) values.has_key?(key) && values[key].nil? end |
.valid?(values, key) ⇒ Boolean
21 22 23 |
# File 'lib/nats/service/validator.rb', line 21 def valid?(values, key) !values.has_key?(key) || values[key] =~ REGEX[key] end |
.validate(values) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/nats/service/validator.rb', line 14 def validate(values) raise InvalidNameError unless valid?(values, :name) raise InvalidVersionError unless valid?(values, :version) raise InvalidSubjectError unless valid?(values, :subject) || nil?(values, :subject) raise InvalidQueueError unless valid?(values, :queue) || nil?(values, :queue) end |