I’m pretty sure the issue with case-sensitive APFS is a bug in the SketchUp::require(path) method and not a bug in @Wisext’s code.
Ruby does not work well on such case sensitive systems. This is outside the control of SketchUp.
No. No, it isn’t outside Trimble’s control if SketchUp re-implements a standard Ruby method and the reimplementation is bugged.
Notably, SketchUp::require(path) takes a string argument, whereas Kernel::require(path) takes a Pathname argument.
One would assume that “Ruby does not work well on such case sensitive systems” is not true if one uses a Pathname rather than a string.