LoginSignup
0
0

More than 5 years have passed since last update.

taint と Class, Module, singleton_class

Last updated at Posted at 2013-08-09
RUBY_DESCRIPTION #=> "ruby 2.1.0dev (2013-08-09 trunk 42473) [x86_64-linux]

$VERBOSE = true

obj = Object.new
mod = Module.new.taint

obj.taint.singleton_class.tainted? #=> true

obj2 = Object.new
obj2.singleton_class.taint
obj2.tainted? #=> false

obj3 = Object.new
obj3.extend mod
obj3.tainted? #=> false

obj4 = Object.new
obj4.singleton_class.__send__ :include, mod
obj4.tainted? #=> false

(mod2 = Module.new { include mod }).tainted? #=> true
Module.new { include mod2 }.tainted? #=> true
(cls = Class.new { include mod2 }).tainted? #=> true
Class.new(cls).tainted? #=> false
Class.new(Class.new.taint).tainted? #=> false
cls.new.tainted? #=> false
Class.new.taint.new.tainted? #=> false
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0