Class: Binding

Class | Binding
In: | lib/core/facets/binding/caller.rb lib/core/facets/binding/defined.rb lib/core/facets/binding/eval.rb lib/core/facets/binding/local_variables.rb lib/core/facets/binding/opvars.rb lib/core/facets/binding/self.rb lib/core/facets/kernel/callstack.rb
Parent: | Object

### Methods

[] []= __DIR__ __FILE__ __LINE__ __callee__ __method__ caller callstack defined? eval local_variables self

### Public Instance methods

[]( x )

Returns the value of some variable.

      a = 2
      binding["a"]  #=> 2

[Source]

    # File lib/core/facets/binding/opvars.rb, line 10
      def []( x )
        eval( x.to_s )
      end

[]=( l, v )

Set the value of a local variable.

      binding["a"] = 4
      a  #=> 4

[Source]

    # File lib/core/facets/binding/opvars.rb, line 19
      def []=( l, v )
        eval( "lambda {|v| #{l} = v}").call( v )
      end

__DIR__()

Return the directory of the file.

[Source]

    # File lib/core/facets/binding/caller.rb, line 22
      def __DIR__
        eval("File.dirname(__FILE__)")
      end

__FILE__()

Returns file name.

[Source]

    # File lib/core/facets/binding/caller.rb, line 17
      def __FILE__
        eval("__FILE__")
      end

__LINE__()

Returns line number.

[Source]

    # File lib/core/facets/binding/caller.rb, line 12
      def __LINE__
        eval("__LINE__")
      end

__callee__()

Retreive the current running method.

      def tester; p called; end
      tester  #=> :tester

[Source]

    # File lib/core/facets/binding/caller.rb, line 31
      def __callee__
        name = /\`([^\']+)\'/.match(caller(1).first)[1]
        return name.to_sym
      end

__method__()

There is a lot of debate on what to call this. `method_name` differs from called only by the fact that it returns a string, rather then a symbol.

      def tester; p methodname; end
      tester  #=> "tester"

[Source]

    # File lib/core/facets/binding/caller.rb, line 43
      def __method__
        name = /\`([^\']+)\'/.match(caller(1).first)[1]
        return name
      end

caller( skip=0 )

Returns the call stack, same format as Kernel#caller()

[Source]

    # File lib/core/facets/binding/caller.rb, line 7
      def caller( skip=0 )
        eval("caller(#{skip})")
      end

callstack(level=1)

Returns the call stack, in array format.

[Source]

    # File lib/core/facets/kernel/callstack.rb, line 47
      def callstack(level=1)
        eval( "callstack( #{level} )" )
      end

defined?(x)

Returns the nature of something within the context of the binding. Returns nil if that thing is not defined.

[Source]

    # File lib/core/facets/binding/defined.rb, line 7
      def defined?(x)
        eval("defined? #{x}")
      end

eval(str)

Evaluate a Ruby source code string (or block) in the binding context.

[Source]

    # File lib/core/facets/binding/eval.rb, line 7
        def eval(str) #='', &blk )
          #if block_given?
          #  Kernel.eval( self, &blk )
          #elsif str
            Kernel.eval(str, self)
          #end
        end

local_variables()

Returns the local variables defined in the binding context

      a = 2
      binding.local_variables  #=> ["a"]

[Source]

    # File lib/core/facets/binding/local_variables.rb, line 10
      def local_variables()
        eval("local_variables")
      end

self()

Returns self of the binding context.

[Source]

    # File lib/core/facets/binding/self.rb, line 7
      def self()
        @_self ||= eval("self")
      end

[Validate]