Class: NatsWork::Protocol::Validator
- Inherits:
-
Object
- Object
- NatsWork::Protocol::Validator
- Defined in:
- lib/natswork/protocol.rb
Overview
Message validator
Class Method Summary collapse
- .valid_job_error?(message) ⇒ Boolean
- .valid_job_request?(message) ⇒ Boolean
- .valid_job_response?(message) ⇒ Boolean
- .validate_message(message) ⇒ Object
Class Method Details
.valid_job_error?(message) ⇒ Boolean
261 262 263 264 265 266 267 268 269 |
# File 'lib/natswork/protocol.rb', line 261 def self.valid_job_error?() return false unless .is_a?(Hash) required = %w[type version job_id error_code error_message error_class metadata] required.all? { |key| .key?(key) } && ['type'] == MessageType::JOB_ERROR rescue StandardError false end |
.valid_job_request?(message) ⇒ Boolean
237 238 239 240 241 242 243 244 245 246 247 248 |
# File 'lib/natswork/protocol.rb', line 237 def self.valid_job_request?() return false unless .is_a?(Hash) required = %w[type version job_id job_class queue arguments metadata] required.all? { |key| .key?(key) } && ['type'] == MessageType::JOB_REQUEST && ['version'] =~ /^\d+\.\d+\.\d+$/ && ['metadata'].is_a?(Hash) && ['metadata']['created_at'].is_a?(String) rescue StandardError false end |
.valid_job_response?(message) ⇒ Boolean
250 251 252 253 254 255 256 257 258 259 |
# File 'lib/natswork/protocol.rb', line 250 def self.valid_job_response?() return false unless .is_a?(Hash) required = %w[type version job_id status result metadata] required.all? { |key| .key?(key) } && ['type'] == MessageType::JOB_RESPONSE && %w[success failure partial].include?(['status']) rescue StandardError false end |
.validate_message(message) ⇒ Object
271 272 273 274 275 276 277 278 279 280 281 282 |
# File 'lib/natswork/protocol.rb', line 271 def self.() case ['type'] when MessageType::JOB_REQUEST valid_job_request?() when MessageType::JOB_RESPONSE valid_job_response?() when MessageType::JOB_ERROR valid_job_error?() else false end end |