Method: OpenC3::ReactionModel#validate_actions

Defined in:
lib/openc3/models/reaction_model.rb

#validate_actions(actions:) ⇒ Object



138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'lib/openc3/models/reaction_model.rb', line 138

def validate_actions(actions:)
  unless actions.is_a?(Array)
    raise ReactionInputError.new "invalid actions object: #{actions}"
  end
  actions.each do | action |
    unless action.is_a?(Hash)
      raise ReactionInputError.new "invalid action object: #{action}"
    end
    action_type = action['type']
    if action_type.nil?
      raise ReactionInputError.new "reaction action must contain type: #{action_type}"
    elsif action['value'].nil?
      raise ReactionInputError.new "reaction action: #{action} does not contain 'value'"
    end
    unless [COMMAND_REACTION, SCRIPT_REACTION].include?(action_type)
      raise ReactionInputError.new "reaction action contains invalid type: #{action_type}"
    end
  end
  return actions
end