Class: Artificial::Validators::MessageValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/artificial/validators/message_validator.rb

Constant Summary collapse

VALID_ROLES =
%w[system user assistant].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(messages) ⇒ MessageValidator



10
11
12
13
# File 'lib/artificial/validators/message_validator.rb', line 10

def initialize(messages)
  @messages = messages
  @errors = []
end

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



8
9
10
# File 'lib/artificial/validators/message_validator.rb', line 8

def errors
  @errors
end

#messagesObject (readonly)

Returns the value of attribute messages.



8
9
10
# File 'lib/artificial/validators/message_validator.rb', line 8

def messages
  @messages
end

Instance Method Details

#error_messagesObject



33
34
35
# File 'lib/artificial/validators/message_validator.rb', line 33

def error_messages
  @errors
end

#valid?Boolean



28
29
30
31
# File 'lib/artificial/validators/message_validator.rb', line 28

def valid?
  validate if @errors.empty?
  @errors.empty?
end

#validateObject



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/artificial/validators/message_validator.rb', line 15

def validate
  @errors.clear

  return add_error('Messages must be an array') unless @messages.is_a?(Array)
  return add_error('Messages array cannot be empty') if @messages.empty?

  @messages.each_with_index do |message, index|
    validate_message(message, index)
  end

  self
end