utils: add includecount argument to pluralize util
This commit is contained in:
parent
98a2923463
commit
b68c955946
@ -70,6 +70,12 @@ describe Utils do
|
||||
expect(described_class.pluralize("foo", 1, singular: "o", plural: "es")).to eq("fooo")
|
||||
expect(described_class.pluralize("foo", 2, singular: "o", plural: "es")).to eq("fooes")
|
||||
end
|
||||
|
||||
it "includes the count when requested" do
|
||||
expect(described_class.pluralize("foo", 0, includecount: true)).to eq("0 foos")
|
||||
expect(described_class.pluralize("foo", 1, includecount: true)).to eq("1 foo")
|
||||
expect(described_class.pluralize("foo", 2, includecount: true)).to eq("2 foos")
|
||||
end
|
||||
end
|
||||
|
||||
describe ".underscore" do
|
||||
|
||||
@ -126,10 +126,14 @@ module Utils
|
||||
|
||||
# A lightweight alternative to `ActiveSupport::Inflector.pluralize`:
|
||||
# Combines `stem` with the `singular` or `plural` suffix based on `count`.
|
||||
sig { params(stem: String, count: Integer, plural: String, singular: String).returns(String) }
|
||||
def self.pluralize(stem, count, plural: "s", singular: "")
|
||||
# Adds a prefix of the count value if `includecount` is set to true.
|
||||
sig {
|
||||
params(stem: String, count: Integer, plural: String, singular: String, includecount: T::Boolean).returns(String)
|
||||
}
|
||||
def self.pluralize(stem, count, plural: "s", singular: "", includecount: false)
|
||||
prefix = includecount ? "#{count} " : ""
|
||||
suffix = (count == 1) ? singular : plural
|
||||
"#{stem}#{suffix}"
|
||||
"#{prefix}#{stem}#{suffix}"
|
||||
end
|
||||
|
||||
sig { params(author: String).returns({ email: String, name: String }) }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user