Sha256: 0ad5bdf3b8811032f39125c3df0b4fdfaf33acc22963984a327f56435f5ea619
Contents?: true
Size: 883 Bytes
Versions: 147
Compression:
Stored size: 883 Bytes
Contents
module ActiveSupport class ModelName < String attr_reader :singular, :plural, :element, :collection, :partial_path alias_method :cache_key, :collection def initialize(name) super @singular = ActiveSupport::Inflector.underscore(self).tr('/', '_').freeze @plural = ActiveSupport::Inflector.pluralize(@singular).freeze @element = ActiveSupport::Inflector.underscore(ActiveSupport::Inflector.demodulize(self)).freeze @collection = ActiveSupport::Inflector.tableize(self).freeze @partial_path = "#{@collection}/#{@element}".freeze end end module CoreExtensions module Module # Returns an ActiveSupport::ModelName object for module. It can be # used to retrieve all kinds of naming-related information. def model_name @model_name ||= ::ActiveSupport::ModelName.new(name) end end end end
Version data entries
147 entries across 116 versions & 14 rubygems