Sha256: 9261a2d708f7d35ae1db9172443f5cb06381987f17e9e0897cc5192229187eda
Contents?: true
Size: 1.37 KB
Versions: 3
Compression:
Stored size: 1.37 KB
Contents
module RMExtensions def self.debug? !!@debug end def self.debug!(bool=true) @debug = bool end module ObjectExtensions module Util # Raises an exception when called from a thread other than the main thread. # Good for development and experimenting. def rmext_assert_main_thread! raise "This method must be called on the main thread." unless NSThread.currentThread.isMainThread end # Shortcut to instance_variable_get and instance_variable_get: # 1 arg for instance_variable_get # 2 args for instance_variable_set def rmext_ivar(*args) if args.size == 1 instance_variable_get("@#{args[0]}") elsif args.size == 2 instance_variable_set("@#{args[0]}", args[1]) else raise "rmext_ivar called with invalid arguments: #{args.inspect}" end end def rmext_nil_instance_variables! ivars = [] + instance_variables while ivar = ivars.pop instance_variable_set(ivar, nil) end true end def rmext_assign_debug_labels_to_ivars! ivars = [] + instance_variables while ivar = ivars.pop val = instance_variable_get(ivar) val.rmext_ivar(:debug_label, ivar) end true end end end end Object.send(:include, ::RMExtensions::ObjectExtensions::Util)
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rm-extensions-0.3.1 | lib/motion/util.rb |
rm-extensions-0.3.0 | lib/motion/util.rb |
rm-extensions-0.2.0 | lib/motion/util.rb |