# frozen_string_literal: true module AasmEventsConcern extend ActiveSupport::Concern included do # Todos los eventos de la máquina de estados # # @return [Array] def self.events aasm.events.map(&:name) - self::IGNORED_EVENTS end # Encuentra todos los eventos que se pueden ejecutar con el filtro # actual. # # @return [Array] def self.transitionable_events(current_state) self.events.select do |event| aasm.events.find { |x| x.name == event }.transitions_from_state? current_state end end # Todos los estados de la máquina de estados # # @return [Array] def self.states aasm.states.map(&:name) - self::IGNORED_STATES end end end