Parent

RubyParser::Environment

Attributes

env[R]
dyn[R]

Public Class Methods

new(dyn = false) click to toggle source
     # File lib/ruby_parser_extras.rb, line 930
930:     def initialize dyn = false
931:       @dyn = []
932:       @env = []
933:       @use = []
934:       self.reset
935:     end

Public Instance Methods

[](k) click to toggle source
     # File lib/ruby_parser_extras.rb, line 897
897:     def [] k
898:       self.all[k]
899:     end
[]=(k, v) click to toggle source
     # File lib/ruby_parser_extras.rb, line 901
901:     def []= k, v
902:       raise "no" if v == true
903:       self.current[k] = v
904:     end
all() click to toggle source
     # File lib/ruby_parser_extras.rb, line 906
906:     def all
907:       idx = @dyn.index(false) || 0
908:       @env[0..idx].reverse.inject { |env, scope| env.merge scope }
909:     end
current() click to toggle source
     # File lib/ruby_parser_extras.rb, line 911
911:     def current
912:       @env.first
913:     end
dynamic() click to toggle source
     # File lib/ruby_parser_extras.rb, line 915
915:     def dynamic
916:       idx = @dyn.index false
917:       @env[0...idx].reverse.inject { |env, scope| env.merge scope } || {}
918:     end
dynamic?() click to toggle source
     # File lib/ruby_parser_extras.rb, line 920
920:     def dynamic?
921:       @dyn[0] != false
922:     end
extend(dyn = false) click to toggle source
     # File lib/ruby_parser_extras.rb, line 924
924:     def extend dyn = false
925:       @dyn.unshift dyn
926:       @env.unshift({})
927:       @use.unshift({})
928:     end
reset() click to toggle source
     # File lib/ruby_parser_extras.rb, line 937
937:     def reset
938:       @dyn.clear
939:       @env.clear
940:       @use.clear
941:       self.extend
942:     end
unextend() click to toggle source
     # File lib/ruby_parser_extras.rb, line 944
944:     def unextend
945:       @dyn.shift
946:       @env.shift
947:       @use.shift
948:       raise "You went too far unextending env" if @env.empty?
949:     end
use(id) click to toggle source
     # File lib/ruby_parser_extras.rb, line 951
951:     def use id
952:       @env.each_with_index do |env, i|
953:         if env[id] then
954:           @use[i][id] = true
955:         end
956:       end
957:     end
used?(id) click to toggle source
     # File lib/ruby_parser_extras.rb, line 959
959:     def used? id
960:       idx = @dyn.index false # REFACTOR
961:       u = @use[0...idx].reverse.inject { |env, scope| env.merge scope } || {}
962:       u[id]
963:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.