JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Meta key_format setting

Abierto
#825 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.