validate_entities

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