module Workflow::StateDependentValidations::StateDependency::Validations
Public Instance Methods
validate(record)
click to toggle source
Calls superclass method
# File lib/workflow/state_dependent_validations.rb, line 13 def validate(record) if not record.respond_to?(:current_state) or perform_validation_for_state?(record.current_state) or perform_validation_for_transition?(record.in_transition) or perform_validation_for_transition?("#{record.in_exit}_exit") or perform_validation_for_transition?("#{record.in_entry}_entry") super(record) end end
Protected Instance Methods
if_in_state_option()
click to toggle source
# File lib/workflow/state_dependent_validations.rb, line 38 def if_in_state_option @if_in_state_option ||= [options[:if_in_state]].flatten.compact.collect(&:to_s) end
if_in_transition_option()
click to toggle source
# File lib/workflow/state_dependent_validations.rb, line 46 def if_in_transition_option @if_in_transition_option ||= [options[:if_in_transition]].flatten.compact.collect(&:to_s) end
perform_validation_for_state?(state)
click to toggle source
# File lib/workflow/state_dependent_validations.rb, line 24 def perform_validation_for_state?(state) (unless_in_state_option.empty? and if_in_state_option.empty? and unless_in_transition_option.empty? and if_in_transition_option.empty?) or (if_in_state_option.any? and if_in_state_option.include?(state.to_s)) or (unless_in_state_option.any? and not unless_in_state_option.include?(state.to_s)) end
perform_validation_for_transition?(transition)
click to toggle source
# File lib/workflow/state_dependent_validations.rb, line 31 def perform_validation_for_transition?(transition) (unless_in_state_option.empty? and if_in_state_option.empty? and unless_in_transition_option.empty? and if_in_transition_option.empty?) or (if_in_transition_option.any? and if_in_transition_option.include?(transition.to_s)) or (unless_in_transition_option.any? and not unless_in_transition_option.include?(transition.to_s)) end
unless_in_state_option()
click to toggle source
# File lib/workflow/state_dependent_validations.rb, line 42 def unless_in_state_option @unless_in_state_option ||= [options[:unless_in_state]].flatten.compact.collect(&:to_s) end
unless_in_transition_option()
click to toggle source
# File lib/workflow/state_dependent_validations.rb, line 50 def unless_in_transition_option @unless_in_transition_option ||= [options[:unless_in_transition]].flatten.compact.collect(&:to_s) end