Module: Workflow::Join::Simple::PendingTransitions

Included in:
Workflow::Join::Simple
Defined in:
lib/workflow/join/simple/pending_transitions.rb

Instance Method Summary collapse

Instance Method Details

#pending_transition!(value) ⇒ Object



17
18
19
# File 'lib/workflow/join/simple/pending_transitions.rb', line 17

def pending_transition!(value)
  pending_transitions!(pending_transitions | [value])
end

#pending_transitionsObject



5
6
7
# File 'lib/workflow/join/simple/pending_transitions.rb', line 5

def pending_transitions
  @pending_transitions ||= []
end

#pending_transitions!(value) ⇒ Object



9
10
11
# File 'lib/workflow/join/simple/pending_transitions.rb', line 9

def pending_transitions!(value)
  @pending_transitions = value
end

#pending_transitions?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/workflow/join/simple/pending_transitions.rb', line 13

def pending_transitions?
  !pending_transitions.empty?
end

#try_pending_transitions!Object



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/workflow/join/simple/pending_transitions.rb', line 21

def try_pending_transitions!
  pending_transitions.reject! do |transition|
    begin
      respond_to?("can_#{transition}?") && \
        public_send("can_#{transition}?") && \
        public_send("#{transition}!".to_sym) && \
        true
    rescue
      false # no transition no cry
    end
  end
end