Skip to content

Conversation

@iobaixas
Copy link

@iobaixas iobaixas commented Jun 2, 2023

Descripción

Queremos que esta gema solo se encargue de solucionar la integración de ActiveAdmin con ActiveResource, lo que la transforma en una herramienta de uso genérico.

Además queremos hacerlo sin modificar clases de ActiveAdmin.

Solución

Toda interacción entre activeadmin y activerecord ocurre utilizando la clase Activeadmin::Resource como intermediario. La nueva implementación hace una pequeña modificación a ::ActiveAdmin::Namespace.find_or_build_resource para que utilice una clase especial ActiveAdminResource::Resource en vez de Activeadmin::Resource en el caso que el recurso se trate de un ActiveResource::Base.

Esta implementación depende del api interna de activeadmin (no hay como escapar de eso), pero al menos no modifica activeadmin, lo que nos estaba trayendo problemas en vistas de activerecord.

Otro punto importante de esta implementación es que elimina todo el código de conexión específico de buda, esto será parte de otra gema.

Tests

El problema de hacer tests para esto lo dejaremos para otro release.

@iobaixas iobaixas requested review from ararojas and fedetaladriz June 2, 2023 22:22
@iobaixas iobaixas requested a review from rafagarin September 29, 2023 15:09
@iobaixas iobaixas marked this pull request as ready for review September 29, 2023 15:09
```

### ActiveAdminResource::AgentDataBase
Since API quering changes from one ActiveResource integration to another, for this gem to work the proyect's base resource class must implement the following methods:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

project's*

```
### `process_active_admin_resource_query(_id)` (optional)

If this method is defined, it will be called instead if `find`
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

of*

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants