class ViewModel::ActiveRecord::AbstractCollectionUpdate::Parser

def parse_action(action)

def parse_action(action)
  type = action[ViewModel::TYPE_ATTRIBUTE]
  case type
  when FunctionalUpdate::Remove::NAME
    parse_remove_action(action)
  when FunctionalUpdate::Append::NAME
    parse_append_action(action)
  when FunctionalUpdate::Update::NAME
    parse_update_action(action)
  else
    raise ViewModel::DeserializationError::InvalidSyntax.new(
            "Unknown action type '#{type}'",
            blame_reference)
  end
end