Module: StrictMachine::MountStateMachine

Defined in:
lib/strict_machine/mount_state_machine.rb,
lib/strict_machine/mount_state_machine/initializer.rb,
lib/strict_machine/mount_state_machine/class_methods.rb

Defined Under Namespace

Modules: ClassMethods, Initializer

Class Method Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

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



21
22
23
24
25
26
27
# File 'lib/strict_machine/mount_state_machine.rb', line 21

def method_missing(meth, *args, &block)
  if @state_machine.transition?(meth, current_state)
    @state_machine.trigger_transition(meth, self)
  else
    super
  end
end

Class Method Details

.included(base) ⇒ Object



6
7
8
9
# File 'lib/strict_machine/mount_state_machine.rb', line 6

def self.included(base)
  base.extend ClassMethods
  base.public_send :prepend, Initializer
end

Instance Method Details

#current_stateObject



11
12
13
# File 'lib/strict_machine/mount_state_machine.rb', line 11

def current_state
  @state_machine.current_state
end

#respond_to?(meth, _include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/strict_machine/mount_state_machine.rb', line 29

def respond_to?(meth, _include_private = false)
  @state_machine.transition?(meth, current_state)
end

#state_attrObject



15
16
17
# File 'lib/strict_machine/mount_state_machine.rb', line 15

def state_attr
  @state_machine.state_attr
end