Module: Card::Name::NameVariants
- Included in:
- Card::Name
- Defined in:
- lib/card/name/name_variants.rb
Constant Summary collapse
- @@variant_methods =
%i[capitalize singularize pluralize titleize downcase upcase swapcase reverse succ]
- @@variant_aliases =
{ capitalized: :capitalize, singular: :singularize, plural: :pluralize, title: :titleize }
Instance Method Summary collapse
Instance Method Details
#vary(variants) ⇒ Object
9 10 11 12 13 14 |
# File 'lib/card/name/name_variants.rb', line 9 def vary variants variants.to_s.split(/[\s,]+/).inject(s) do |name, variant| variant = @@variant_aliases[variant.to_sym] || variant.to_sym @@variant_methods.include?(variant) ? name.send(variant) : name end end |