Method: OpenC3::ReactionModel#validate_actions

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

#validate_actions(actions) ⇒ Object



162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
# File 'lib/openc3/models/reaction_model.rb', line 162

def validate_actions(actions)
  unless actions.is_a?(Array)
    raise ReactionInputError.new "invalid actions, must be array of hashes: #{actions}"
  end
  actions.each do | action |
    unless action.is_a?(Hash)
      raise ReactionInputError.new "invalid action, must be a hash: #{action}"
    end
    action_type = action['type']
    if action_type.nil?
      raise ReactionInputError.new "invalid action, must contain 'type': #{action}"
    elsif action['value'].nil?
      raise ReactionInputError.new "invalid action, must contain 'value': #{action}"
    end
    unless ACTION_TYPES.include?(action_type)
      raise ReactionInputError.new "invalid action type '#{action_type}', must be one of #{ACTION_TYPES}"
    end
  end
  return actions
end