module Nashorn::Ruby::Scriptable
Shared “JSObject” implementation.
Constants
- FETCH
- NUMBER_CLASS
@private
- STORE
- STRING_CLASS
@private
Attributes
unwrap[R]
Public Instance Methods
getMember(name)
click to toggle source
@override JSObject
Calls superclass method
# File lib/nashorn/ruby.rb, line 36 def getMember(name) return nil if exclude?(name) Ruby.access.get(unwrap, name) { super } end
getSlot(name)
click to toggle source
@override JSObject
Calls superclass method
# File lib/nashorn/ruby.rb, line 54 def getSlot(name) return nil if exclude?(name) Ruby.access.get_slot(unwrap, name) { super } end
hasMember(name)
click to toggle source
@override JSObject
Calls superclass method
# File lib/nashorn/ruby.rb, line 42 def hasMember(name) return nil if exclude?(name) Ruby.access.has(unwrap, name) { super } end
hasSlot(name)
click to toggle source
@override JSObject
Calls superclass method
# File lib/nashorn/ruby.rb, line 60 def hasSlot(name) return nil if exclude?(name) Ruby.access.has_slot(unwrap, name) { super } end
keySet()
click to toggle source
@override JSObject
Calls superclass method
# File lib/nashorn/ruby.rb, line 77 def keySet ids = java.util.HashSet.new super_set = super unwrap.public_methods(false).each do |name| next unless name = convert(name.to_s) unless super_set.include?(name) ids.add name.to_java # java.lang.String end end ids end
removeMember(name)
click to toggle source
@override JSObject
# File lib/nashorn/ruby.rb, line 72 def removeMember(name) setMember(name, nil) # TODO remove_method? end
setMember(name, value)
click to toggle source
@override JSObject
Calls superclass method
# File lib/nashorn/ruby.rb, line 48 def setMember(name, value) return nil if exclude?(name) Ruby.access.set(unwrap, name, value) { super } end
setSlot(name, value)
click to toggle source
@override JSObject
Calls superclass method
# File lib/nashorn/ruby.rb, line 66 def setSlot(name, value) return nil if exclude?(name) Ruby.access.set_slot(unwrap, name, value) { super } end
Private Instance Methods
convert(name)
click to toggle source
# File lib/nashorn/ruby.rb, line 96 def convert(name) if exclude?(name) nil elsif name.end_with?('=') name[0...-1] else name end end
exclude?(name)
click to toggle source
# File lib/nashorn/ruby.rb, line 109 def exclude?(name) name.eql?(FETCH) || name.eql?(STORE) end