Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Unable to reuse a JavaScriptFunction to call from ruby back to javascript

Offen
#228 4 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
38/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
javascript, ruby
Bereich
backend

Rechercherichtung

Start by tracing how MiniRacer::JavaScriptFunction values are exposed to Ruby and how the existing callback mechanism crosses between Ruby and JavaScript. The issue gives no file or test names, so locate those entry points and related tests before estimating the change. Done means a Ruby callback can invoke the JavaScript function and continue the described round trip; add or identify coverage for that behavior.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

I have attached a ruby block to my js context in order to power a callback mechanism. It should go ruby -> js -> ruby -> js (and maybe a few more times after that). My code looks something like:

      subject.register_helper('alsowith') do |this, context, block|
        context["fn"]
      end

where context looks like this in a debugger:

0> context
=> {"name"=>"alsowith", "hash"=>{}, "fn"=>#<MiniRacer::JavaScriptFunction:0x00007fd20c0a3620>, "inverse"=>#<MiniRacer::JavaScriptFunction:0x00007fd20c0a34e0>, "data"=>{"root"=>{"weather"=>{"summary"=>"sunny"}}}}

Unfortunately I can't use the "fn" key's value, a JavaScriptFunction appears to be an empty class and not invocable. I was expecting something like context["fn"].call(123) so I could keep going.

Vorherrschende Sprache
JavaScript
Sterne
628
Forks
100
Ø Merge
1 T. 20 Std.
Gemergte PRs (30 T.)
2

Entwicklungsumgebung

  • Enthält ein Dockerfile oder eine Docker-Compose-Datei
  • Keine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus rubyjs/mini_racer

Alle Issues in rubyjs/mini_racer

Ähnliche Issues

Weitere Issues zu JavaScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.