From 47ee3ff006852a974b1f1378df97f7215a267d4a Mon Sep 17 00:00:00 2001 From: Brusk Hamarash Date: Tue, 15 Jun 2021 12:44:11 +0300 Subject: [PATCH] Sets workflow_transition_event_name attribute of the calling_model when reflection methods of events are called --- lib/workflower/acts_as_workflower.rb | 3 ++- spec/workflower_spec.rb | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/workflower/acts_as_workflower.rb b/lib/workflower/acts_as_workflower.rb index 5710b8d..987554c 100644 --- a/lib/workflower/acts_as_workflower.rb +++ b/lib/workflower/acts_as_workflower.rb @@ -16,7 +16,7 @@ module Workflower # InstanceMethods module InstanceMethods # mattr_accessor :workflower_base - attr_accessor :possible_events, :allowed_events, :allowed_transitions + attr_accessor :possible_events, :allowed_events, :allowed_transitions, :workflow_transition_event_name def set_intial_state write_attribute self.class.workflower_state_column_name, workflower_initial_state @@ -39,6 +39,7 @@ module Workflower @workflower_base.allowed_transitions.each do |flow| define_singleton_method flow.trigger_action_name.to_s do + write_attribute :workflow_transition_event_name, flow.event @workflower_base.process_transition!(flow) end diff --git a/spec/workflower_spec.rb b/spec/workflower_spec.rb index 2831f5b..02b45ad 100644 --- a/spec/workflower_spec.rb +++ b/spec/workflower_spec.rb @@ -12,6 +12,7 @@ RSpec.describe Workflower do @test.workflower_initializer @test.submit! + expect(@test.workflow_transition_event_name).to eq("submit") expect(@test.workflow_state).to eq("submitted") end end