# frozen_string_literal: true module Dry class Inflector class Inflections # Default inflections # # @since 0.1.0 # @api private # # rubocop:disable Metrics/AbcSize module Defaults # @since 0.1.0 # @api private def self.call(inflect) plural(inflect) singular(inflect) irregular(inflect) uncountable(inflect) acronyms(inflect) end # @since 0.1.0 # @api private def self.plural(inflect) inflect.plural(/\z/, "s") inflect.plural(/s\z/i, "s") inflect.plural(/(ax|test)is\z/i, '\1es') inflect.plural(/(.*)us\z/i, '\1uses') inflect.plural(/(octop|vir|cact)us\z/i, '\1i') inflect.plural(/(octop|vir)i\z/i, '\1i') inflect.plural(/(alias|status)\z/i, '\1es') inflect.plural(/(buffal|domin|ech|embarg|her|mosquit|potat|tomat)o\z/i, '\1oes') inflect.plural(/(?