in lib/wit.rb [182:202]
def validate_entities(entities)
entity_keys = {
entity: String,
start: Integer,
end: Integer,
body: String,
entities: Array
}
entities.each do |entity|
entity = entity.map {|k, v| [(k.to_sym rescue k), v]}.to_h.reject{ |k| !entity_keys.keys.include?(k) }
entity.each do |k, v|
if k == :entities && !v.empty?
validate_entities(v)
end
raise Error.new("#{k.to_s} in entities body must be #{entity_keys[k].to_s} type") unless entity_keys[k] == v.class
end
end
return entities
end