Sha256: 8b3de1714b32d04dc034879ffbca6b1b86c382f3a65650e123ec647631707122

Contents?: true

Size: 514 Bytes

Versions: 1

Compression:

Stored size: 514 Bytes

Contents

#
# Pervasives allows an object's methods to be accessed in a pristine state,
# even when some effort has been made to derride them
#
  require 'pervasives'

  class BlankSlate
    instance_methods.each{|m| undef_method m unless m[%r/__/]}
  end

  bs = BlankSlate.new

  p Pervasives(bs).methods #=> ["__object_pervasive__", "__id__", "__send__", "__pervasive__"]

  p Pervasives(bs).is_a?(BlankSlate) #=> true

  p Pervasives(bs).instance_eval{ @a = 42 } #=> 42

  p Pervasives(bs).instance_variables #=> ["@a"]

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pervasives-1.1.0 samples/a.rb