What are Convenient Service's Ruby requirements?
Minimal: Ruby 2.7.
Recommended: Ruby 3+.
Ruby 2.7 has known
*args/**kwargsseparation issues that Convenient Service works around internally.Service-aware enumerables only define
compact,chain,inject, andinclude?on Ruby 3.1+. Calling them on a service-aware enumerable under Ruby 2.7 or 3.0 raisesNoMethodError.class Service include ConvenientService::Standard::Config def result service_aware_enumerable([0, 1, false, true, nil]) .compact .result end end Service.result.data[:values] # => [0, 1, false, true] on Ruby 3.1+, NoMethodError otherwiseJRuby 9.4 and 10.0 are fully supported - all specs pass in CI; 10.1 is not tested yet.
TruffleRuby does not work - too many specs currently fail, so 25.0 only runs in CI experimentally (allowed to fail).