Module: Traitor::Object

Defined in:
lib/traitor/core_ext/object.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(m, *args, &block) ⇒ Object



3
4
5
6
7
# File 'lib/traitor/core_ext/object.rb', line 3

def method_missing(m, *args, &block)
  Trait.check_conflict(self.class)
  super unless trait = self.class.traits.detect { |t| t.implements?(m) }
  trait.call(self, m, *args, &block)
end

Instance Method Details

#trait_send(trait, m, *args, &block) ⇒ Object



9
10
11
# File 'lib/traitor/core_ext/object.rb', line 9

def trait_send(trait, m, *args, &block)
  trait.call(self, m, *args, &block)
end