Method: Statelogic::Util.defmethod

Defined in:
lib/statelogic/activerecord.rb

.defmethod(cls, name, meta = false, &block) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/statelogic/activerecord.rb', line 13

def self.defmethod(cls, name, meta = false, &block)
  c = meta ? cls.metaclass : cls
  unless c.method_defined?(name)
    c.send(:define_method, name, &block)
    debug { "Statelogic created #{meta ? 'class' : 'instance'} method #{name} on #{cls.name}." }
  else
    warn { "Statelogic won't override #{meta ? 'class' : 'instance'} method #{name} already defined on #{cls.name}." }
    nil
  end
end