module ValidTransitions::InputValidator
Public Instance Methods
validate_options(options)
click to toggle source
# File lib/valid_transitions/input_validator.rb, line 7 def validate_options(options) transitions = options[:transitions] validate_transition_type_and_presence(transitions) validate_transition_content(transitions) end
Private Instance Methods
raise_error(message)
click to toggle source
# File lib/valid_transitions/input_validator.rb, line 34 def raise_error(message) raise ValidTransitions::InvalidInputError, message end
validate_transition_content(transitions)
click to toggle source
# File lib/valid_transitions/input_validator.rb, line 20 def validate_transition_content(transitions) transitions.each do |transition| raise_error("transition #{transition} missing key :to") unless transition.has_key?('to') raise_error("transition #{transition} missing key :from") unless transition.has_key?('from') end end
validate_transition_type_and_presence(transitions)
click to toggle source
# File lib/valid_transitions/input_validator.rb, line 15 def validate_transition_type_and_presence(transitions) raise_error("validates_with called without :transitions") unless transitions raise_error("validates_with called with :transitions as an #{transitions.class}, expected Array") unless transitions.is_a?(Array) end
validate_when(options)
click to toggle source
# File lib/valid_transitions/input_validator.rb, line 27 def validate_when(options) return true unless options[:when] return true if options[:when].is_a?(Hash) raise_error(":when is #{options[:when]}, which should be a Hash") end