Method: Jsm::ClientExtension#initialize

Defined in:
lib/jsm/client_extension.rb

#initialize(klass, params = {}) ⇒ ClientExtension

Returns a new instance of ClientExtension.



11
12
13
14
15
16
17
18
# File 'lib/jsm/client_extension.rb', line 11

def initialize(klass, params = {})
  @klass = klass
  @state_machine = params[:state_machine]
  @event_executor = klass.jsm_event_executor.new(validators: @state_machine.validators)
  unless @state_machine.attribute_name
    raise Jsm::NoAttributeError, "please assign the attribute_name first in class #{@state_machine.name}"
  end
end