Sha256: 721c82f458d61a926112a6c68230a5d6c12786a6dca12e9bb3079143dbeea24b

Contents?: true

Size: 753 Bytes

Versions: 2

Compression:

Stored size: 753 Bytes

Contents

module PrivatePlease ; module Tracking

  class LineChangeTracker
    class << self

      attr_accessor :prev_prev_self, :prev_self, :curr_self
      @@prev_self = @@curr_self = nil

      alias :call_initiator :prev_self

      def reset
        prev_prev_self = prev_self = curr_self = nil
      end
    end

    MY_TRACE_FUN = lambda do |event, file, line, id, binding, klass|
      return unless 'line'==event
      LineChangeTracker.prev_prev_self = LineChangeTracker.prev_self
      LineChangeTracker.prev_self      = LineChangeTracker.curr_self
      LineChangeTracker.curr_self      = (eval 'self', binding)
      #puts "my : #{event} in #{file}/#{line} id:#{id} klass:#{klass} - self = #{(eval'self', binding).inspect}"
    end

  end

end end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
private_please-0.0.5 lib/private_please/tracking/line_change_tracker.rb
private_please-0.0.4 lib/private_please/tracking/line_change_tracker.rb