Method: JsonMessage#encode

Defined in:
lib/json_message.rb

#encodeObject

Raises:



139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# File 'lib/json_message.rb', line 139

def encode
  set_defaults

  missing_fields = {}

  self.class.fields.each do |name, field|
    if field.required && !@msg.has_key?(name)
      missing_fields[name] = "Missing field #{name}"
    end
  end

  raise ValidationError.new(missing_fields) unless missing_fields.empty?

  Yajl::Encoder.encode(@msg)
end