Sha256: 68990068a9b72625def472382ea0d2947f39b5b288e99147a4eae163f857d7d6
Contents?: true
Size: 827 Bytes
Versions: 1
Compression:
Stored size: 827 Bytes
Contents
# frozen_string_literal: true require "dry/inflector" module ROM module InflectorMethods # ZeitwerkCompatibility def camelize(name, *) super(name) end # Default for inferring ids from class names or any string/symbol def component_id(value) name = (value.is_a?(Class) ? (value.name || value.superclass.name) : value).to_s underscore(demodulize(name)).to_sym end # Default for inferring namespace from class names or any string/symbol def namespace(value) name = (value.is_a?(Class) ? (value.name || value.superclass.name) : value).to_s pluralize(underscore(demodulize(name))).to_sym end end Inflector = Dry::Inflector.new do |i| i.plural(/people\z/i, "people") i.plural(/schema\z/i, "schemas") end Inflector.extend(InflectorMethods) end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rom-6.0.0.alpha1 | lib/rom/support/inflector.rb |