It should be noted that #45 specifically mentions a compatibility issue with FactoryBot, but the issue is much broader than that. This gem currently introduces a required method globally in the projects that use it, which breaks any method named required in those projects.
This solution:
Moves the required method to a new Asana::CompatibilityHelper module that can be used safely throughout this codebase without making it a global method in any project it's used in.
Does not modify generated code--to the best of my knowledge, let me know if I've missed something!
My concerns with this solution:
I believe the method that I'm protecting here (required) is only necessary to add support to a ruby version (2.0.0) that isn't actually supported by this gem. It likely could be removed, but it would require updates to the code generation codebase.
This PR fixes #45 and builds off of mful's previous PR for this issue.
It should be noted that #45 specifically mentions a compatibility issue with FactoryBot, but the issue is much broader than that. This gem currently introduces a
required
method globally in the projects that use it, which breaks any method namedrequired
in those projects.This solution:
required
method to a newAsana::CompatibilityHelper
module that can be used safely throughout this codebase without making it a global method in any project it's used in.My concerns with this solution:
I believe the method that I'm protecting here (
required
) is only necessary to add support to a ruby version (2.0.0) that isn't actually supported by this gem. It likely could be removed, but it would require updates to the code generation codebase.