module RMachine

Public Class Methods

included(base) click to toggle source
# File lib/r_machine.rb, line 11
def self.included(base)
  base.extend(ClassMethods)
end

Public Instance Methods

method_missing(called_method, *args) click to toggle source
Calls superclass method
# File lib/r_machine.rb, line 15
def method_missing(called_method, *args)
  factory_params = {
    object_called: self,
    state_template: ClassMethods.state_template,
    message_name: called_method,
    message_args: args
  }

  factory = StateNotifierFactory.new factory_params

  if factory.is_notifying_state_machine?
    factory.notifier.notify!
  else
    super
  end
end