@Blacksmoke16 pointed out that:
idk if this is an issue or not, but component_name.id.underscore doesnt handle namespaced stuff
i.e. module Foo::Bar would be foo::bar
which isnt valid
This should be fixed so components within a namespace can be used.