Sha256: 99c9886b9d6ba91ea81a77b54c531b40e0483d9c9517a63dc8f7d6dd30563704

Contents?: true

Size: 459 Bytes

Versions: 1

Compression:

Stored size: 459 Bytes

Contents

class AntiObject
  VERSION = '0.6.0'

  def initialize(object)
    @object = object
  end

  def ~
    @object
  end

  def anti?
    not super
  end

  def method_missing(method_name, *args)
    method_name = method_name.to_s

    if method_name =~ /\?$/
      !(~self).send(method_name, *args)
    else
      raise NoMethodError.new("undefined method `#{method_name}' for #{self}")
    end
  end
end

class Object
  def ~
    AntiObject.new(self)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
anti_object-1.0.0 lib/anti_object.rb