JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
Meta key_format setting
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Ruby
- Estrellas
- 2.3k
- Forks
- 546
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Right now (in 0.8.0-beta2) we can use the configuration option of json_key_format to change the style of the attribute key names (dasherized, camelized, etc) but there is no way to do so for meta data!
I am suggesting we add a similar configuration option for formatting the key names of meta data. Something along the lines of json_meta_key_format.
Here is an example:
# using: config.json_key_format = :camelized_key
class UserResource < JSONAPI::Resource
attributes :first_name, :last_name
def meta(_options = {})
{
formal_name: "#{@model.last_name}, #{@model.first_name}"
}
end
end
Will return something like this currently:
"data": {
"attributes": {
"firstName": "foo",
"lastName": "bar"
},
"meta": {
"formal_name": "bar, foo"
},
...
}
What I propose is a json_meta_key_format configuration, which, for example sake would return with the following when using config.json_meta_key_format = :camelized_key:
"data": {
"attributes": {
"firstName": "foo",
"lastName": "bar"
},
"meta": {
"formalName": "bar, foo"
},
...
}
(Notice formalName instead of formal_name)
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con la configuración json_key_format existente y el método de metadatos del recurso mostrado en el issue; después, sigue el recorrido hasta donde se serializan las claves de metadatos. Añade el comportamiento propuesto de json_meta_key_format para que formal_name pueda convertirse en formalName, y verifica que el JSON generado coincida con el ejemplo.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- ruby
- Área
- api
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100