Nommalorel I'm not sure if the structure is exactly the same as the rig in that video, but it is probably like this:
The fact that only vertical movement can be obtained when the bone is rotated must surely be done using transform constraints. Transform constraints allow you to specify the mix of X-axis and Y-axis translation separately, so if you place the target bone of the transform constraint at the tip of a bone and set only the Y-translation affect to the constrained bone, you will get the result that rotating one bone (the parent bone of the target bone) will cause another bone to move up and down.
If the resulting bone with vertical motion is used as the target bone for IK constraints, you should be able to create a bone that rotates in an up-and-down wave motion.
In the example I made, I used a path constraint, but I don't think using a path constraint is necessary. The reason I used it is there were relatively many bones doing that waving motion in the video you linked to, so I guessed it might be using a path constraint.
You can download the Spine project shown in the video above here: