Defining new properties on JSland proxies is broken
Reported by John Barnette | April 3rd, 2008 @ 10:21 AM
Rubyland:
class Foo; end
ctx = Johnson::Context.new
ctx[:foo] = Foo.new
JSland:
foo.bar = "baz!"
foo.bar // => null
Comments and changes to this ticket
-
John Barnette April 3rd, 2008 @ 10:30 AM
- State changed from new to open
This is because the
JSProxy
defines property getters and setters itself, passing them all through to Ruby. What we should really do:Setting the
foo
property onbar
-
Is there a
foo=
method? If so, invoke it. -
Is
bar
indexable? If so, invokebar['foo']=
. -
[NEW] Set
foo
as a "JSland only" property.
Getting the
foo
property onbar
-
Is there a 0-arity
foo
method? If so, invoke it. -
Is
bar
indexable? If so, invokebar['foo']
-
[NEW] Retrieve
foo
from "JSLand only" properties, returning null if it's nonexistent.
-
John Barnette April 3rd, 2008 @ 10:31 AM
- Title changed from Defining new properties on JSland proxies to Defining new properties on JSland proxies is broken
-
John Barnette April 14th, 2008 @ 11:40 PM
- Assigned user changed from John Barnette to Aaron Patterson
Hey, didn't you fix this?
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป