Proper way of hooking methods named `call`
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne in lib/appmap/hook.rb, insbesondere bei trace_end und der Logik, die Methoden mit dem Namen call überspringt. Sieh dir den Kontext des verlinkten Pull Requests an, um zu verstehen, warum call global ignoriert wird. Als erledigt gilt die Aufgabe, wenn Anwendungsmethoden namens call in app oder lib ohne Monkey-Patch gehookt werden können und die bestehenden Ausschlüsse weiterhin beabsichtigt sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Ruby
- Sterne
- 101
- Forks
- 13
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus getappmap/appmap-ruby
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
getappmap/appmap-ruby#363 · 2 Kommentare ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 42/100
getappmap/appmap-ruby#360 ·
-
enhancement
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
getappmap/appmap-ruby#357 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
getappmap/appmap-ruby#355 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
getappmap/appmap-ruby#340 ·
Alle Issues in getappmap/appmap-ruby
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
we-promise/sure#4481 ·
Maintainer antworten meist innerhalb von 1 Tag
-
data error
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
riscv/riscv-unified-db#2772 ·
Maintainer antworten meist innerhalb von 1 Tag
-
`judges test --disable=slow,fast` disables nothing and `--enable=slow,fast` skips every test, because the comma is not a separator of categoriesEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 8 Tagen
-
unsupported shell: "l"Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100