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", 1, singular: "o", plural: "es")).to eq("fooo")
|
||||||
expect(described_class.pluralize("foo", 2, singular: "o", plural: "es")).to eq("fooes")
|
expect(described_class.pluralize("foo", 2, singular: "o", plural: "es")).to eq("fooes")
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
describe ".underscore" do
|
describe ".underscore" do
|
||||||
|
|||||||
@ -126,10 +126,14 @@ module Utils
|
|||||||
|
|
||||||
# A lightweight alternative to `ActiveSupport::Inflector.pluralize`:
|
# A lightweight alternative to `ActiveSupport::Inflector.pluralize`:
|
||||||
# Combines `stem` with the `singular` or `plural` suffix based on `count`.
|
# Combines `stem` with the `singular` or `plural` suffix based on `count`.
|
||||||
sig { params(stem: String, count: Integer, plural: String, singular: String).returns(String) }
|
# Adds a prefix of the count value if `includecount` is set to true.
|
||||||
def self.pluralize(stem, count, plural: "s", singular: "")
|
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
|
suffix = (count == 1) ? singular : plural
|
||||||
"#{stem}#{suffix}"
|
"#{prefix}#{stem}#{suffix}"
|
||||||
end
|
end
|
||||||
|
|
||||||
sig { params(author: String).returns({ email: String, name: String }) }
|
sig { params(author: String).returns({ email: String, name: String }) }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user