sardaukar/strict_machine

View on GitHub
lib/strict_machine/mount_state_machine/class_methods.rb

Summary

Maintainability
A
0 mins
Test Coverage
module StrictMachine
  module MountStateMachine
    module ClassMethods
      def mount_state_machine(klass, options = {})
        state_attr = options.fetch(:state, :state)

        metaclass.instance_eval do
          define_method(:strict_machine_class) { klass }
          define_method(:strict_machine_attr) { state_attr }
        end

        include InstanceMethods
      end
    end
  end
end