1
0
Fork 0
mirror of https://github.com/rubyjs/therubyrhino synced 2023-03-27 23:21:34 -04:00
therubyrhino/lib/rhino/native_object.rb
2009-11-08 23:25:25 -05:00

37 lines
No EOL
550 B
Ruby

module Rhino
class NativeObject
include Enumerable
attr_reader :j
def initialize(j)
@j = j
end
def [](k)
To.ruby @j.get(k.to_s, @j)
end
def []=(k,v)
@j.put(k.to_s,@j,v)
end
def each
for id in @j.getAllIds() do
yield id,@j.get(id,@j)
end
end
def to_h
{}.tap do |h|
each do |k,v|
h[k] = self.class === v ? v.to_h : v
end
end
end
def to_json(*args)
to_h.to_json(*args)
end
end
end