Class: ServiceMessage

Inherits:
JsonMessage
  • Object
show all
Defined in:
lib/base/api/message.rb

Instance Method Summary collapse

Instance Method Details

#dupObject

Return a deep copy of @msg



24
25
26
# File 'lib/base/api/message.rb', line 24

def dup
  @msg.deep_dup
end

#inspectObject



28
29
30
# File 'lib/base/api/message.rb', line 28

def inspect
  @msg.inspect
end

#set_field(field, value) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/base/api/message.rb', line 9

def set_field(field, value)
  field = field.to_sym
  return unless self.class.fields.has_key?(field)
  f = self.class.fields[field]
  # delete an optional field
  if value.nil? and f.required == false
    @msg.delete(field)
  else
    errs = f.schema.validate(value)
    raise ValidationError.new({field => errs}) if errs
    @msg[field] = value
  end
end