class SDL::Name

An extension of a string that will format a name

Private Class Methods

inflect(name, transforms) click to toggle source

@!macro [attach] inflect

@return [String]
# File lib/sdl/name.rb, line 11
def inflect(name, transforms)
  define_method(name) do
    transforms.reduce(self) do |acc, arg|
      case arg
      when :upcase
        acc.upcase
      when :lower_camelize
        ActiveSupport::Inflector.camelize(acc, false)
      when :lower_humanize
        ActiveSupport::Inflector.humanize(acc, capitalize: false)
      else
        ActiveSupport::Inflector.send(arg, acc)
      end
    end
  end
end