Sha256: 9a8da2153c42bbaff8c5486aff7a69a56a050e6ec7a82d78dc8611b722fcdbdf

Contents?: true

Size: 564 Bytes

Versions: 5

Compression:

Stored size: 564 Bytes

Contents

class Kernel
  def pp(*attrs)
    NSLog([*attrs].map(&:inspect).join(' '))
  end

  def class_name_without_kvo
    self.class.name.gsub(/^NSKVONotifying_/, '')
  end

  def weak_ref
    WeakRef.new(self)
  end

  def strong_ref
    self
  end

  def clear_instance_variables(options = {})
    ivars = self.instance_variables
    excluded_ivars = Array.wrap(options[:except]).map(&:to_s)
    clear_block = proc { |ivar|
      next if excluded_ivars.include?(ivar[1..-1])
      self.instance_variable_set(ivar, nil)
    }.weak!
    ivars.each(&clear_block)
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
motion-prime-0.8.1 motion-prime/core_ext/kernel.rb
motion-prime-0.8.0 motion-prime/core_ext/kernel.rb
motion-prime-0.7.2 motion-prime/core_ext/kernel.rb
motion-prime-0.7.1 motion-prime/core_ext/kernel.rb
motion-prime-0.7.0 motion-prime/core_ext/kernel.rb