class RubyRunJs::LocalScope

Attributes

builtin[R]
own[R]
stack[R]
this_binding[RW]

Public Class Methods

new(parent, builtin) click to toggle source
# File lib/ruby_run_js/scope.rb, line 68
def initialize(parent, builtin)
  @own = {}
  @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 79
def create_binding(var_label)
  unless @own.key?(var_label)
    @own[var_label] = undefined
  end
end
delete_binding(var_label) click to toggle source
# File lib/ruby_run_js/scope.rb, line 97
def delete_binding(var_label)
  @own.key?(var_label) ? @own.delete(var_label) : @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 93
def get_binding_value(var_label,throw = false)
  @own.key?(var_label) ? @own[var_label] : @parent.get_binding_value(var_label,throw)
end
has_binding(var_label) click to toggle source
# File lib/ruby_run_js/scope.rb, line 75
def has_binding(var_label)
  @own.key?(var_label)
end
set_binding(var_label,var_value,throw = false) click to toggle source
# File lib/ruby_run_js/scope.rb, line 85
def set_binding(var_label,var_value,throw = false)
  if @own.key?(var_label)
    @own[var_label] = var_label
  else
    @parent.set_binding(var_label,var_value,throw)
  end
end