Proper way of hooking methods named `call`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Empieza en lib/appmap/hook.rb, especialmente en trace_end y en la lógica que omite los métodos llamados call. Revisa el contexto del pull request enlazado para entender por qué call se ignora globalmente. Se considera terminado cuando los métodos de la aplicación llamados call en app o lib pueden interceptarse sin un monkey patch y las exclusiones existentes siguen siendo intencionadas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
It looks that we globally ignore methods named call here.
When we want to hook methods named call in our application Ruby classes (./app or ./lib in our case), is there any proper way to do this?
Currently, I'm working around it with a monkey patch like this:
# lib/appmap/hook.rb
module AppMap
class Hook
def trace_end(...)
...
local_path = location.delete_prefix(Dir.pwd + '/')
is_app = local_path.start_with?('app') || local_path.start_with?('lib')
next if !is_app && method_id == :call
But I think there must be a better way to do this.
- Lenguaje dominante
- Ruby
- Estrellas
- 101
- Forks
- 13
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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.
Más de getappmap/appmap-ruby
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
getappmap/appmap-ruby#363 · 2 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
getappmap/appmap-ruby#360 ·
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
getappmap/appmap-ruby#357 ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
getappmap/appmap-ruby#355 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
getappmap/appmap-ruby#340 ·
Todos los issues de getappmap/appmap-ruby
Issues similares
-
area: cli enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
mail processing verified
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 7 días
-
L: github:actions L: php:composer
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
dependabot/dependabot-core#16493 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
doorkeeper-gem/doorkeeper-openid_connect#409 · 1 comentario ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
puppetlabs/pdk-templates#676 ·
Los mantenedores suelen responder en 1 día