class RubyRunJs::ObjectScope
Attributes
builtin[R]
own[R]
stack[R]
this_binding[R]
Public Class Methods
new(obj, parent, builtin)
click to toggle source
# File lib/ruby_run_js/scope.rb, line 107 def initialize(obj, parent, builtin) @own = obj @parent = parent @stack = [] @builtin = builtin end
Public Instance Methods
create_binding(var_label)
click to toggle source
# File lib/ruby_run_js/scope.rb, line 118 def create_binding(var_label) unless @own.has_binding(var_label) @own.define_own_property(var_label, { 'value' => undefined, 'configurable' => false, 'writable' => true, 'enumerable' => true },false) end end
delete_binding(var_label)
click to toggle source
# File lib/ruby_run_js/scope.rb, line 142 def delete_binding(var_label) @own.key?(var_label) ? @own.delete(var_label, false) : @parent.delete_binding(var_label) end
get_binding_value(var_label,throw = false)
click to toggle source
# File lib/ruby_run_js/scope.rb, line 138 def get_binding_value(var_label,throw = false) @own.key?(var_label) ? @own.get(var_label, throw) : @parent.get_binding_value(var_label, throw) end
has_binding(var_label)
click to toggle source
# File lib/ruby_run_js/scope.rb, line 114 def has_binding(var_label) @own.has_binding(var_label) end
set_binding(var_label,var_value,throw = false)
click to toggle source
# File lib/ruby_run_js/scope.rb, line 130 def set_binding(var_label,var_value,throw = false) if @own.key?(var_label) @own.put(var_label, var_value, throw) else @parent.set_binding(var_label,var_value,throw) end end