Class: ZeevexProxy::BasicObject

Inherits:
BasicObject
Defined in:
lib/zeevex_proxy/base.rb,
lib/zeevex_proxy/base.rb

Overview

A class with no predefined methods that behaves similarly to Builder’s BlankSlate. Used for proxy classes.

Direct Known Subclasses

Base

Constant Summary collapse

KEEP_METHODS =
%w"__id__ __send__ method_missing __getobj__ object_id".map(&:to_sym)

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ BasicObject

Returns a new instance of BasicObject.



14
# File 'lib/zeevex_proxy/base.rb', line 14

def initialize(*args); end

Class Method Details

.inherited(subclass) ⇒ Object



34
35
36
# File 'lib/zeevex_proxy/base.rb', line 34

def self.inherited(subclass)
  BasicObject.remove_methods!
end

.remove_methods!Object



29
30
31
32
# File 'lib/zeevex_proxy/base.rb', line 29

def self.remove_methods!
  m = (instance_methods.map(&:to_sym)) - KEEP_METHODS
  m.each{|m| undef_method(m)}
end

Instance Method Details

#object_idObject



19
20
21
# File 'lib/zeevex_proxy/base.rb', line 19

def object_id
  __id__
end

#raise(*args) ⇒ Object

Let ActiveSupport::BasicObject at least raise exceptions.



10
11
12
# File 'lib/zeevex_proxy/base.rb', line 10

def raise(*args)
  ::Object.send(:raise, *args)
end